Settingsによって変更できる.
- User Settings: そのエディタで開く全てのものに適用される
- Workspace Settings: workspaceにのみ適用される
Settings
VSCodeが公開しているdefault settings(一覧)と、拡張機能がsettingsへ公開している設定事項がsettingsにて制御できる。
User SettingsはAPPDATA的ディレクトリにしまってある
Workspace Settingsは.vscodeディレクトリ下 (.vscodeはルート直下)に1、settings.jsonの形で置く。あるいは (multi-root workspace用として) .code-workspaceファイル内"settings"属性として書く.
.code-workspaceとsettings.jsonは共存できる。ただし各settings.jsonがエディタ全体に関わる設定をしていると衝突してしまうので、multi-root workspace利用時には一部のsettingがsettings.jsonで利用できなくなる。
{ "diffEditor.ignoreTrimWhitespace": true, "diffEditor.renderIndicators": true, }
.code-workspace [ref]
{ "settings": { "window.zoomLevel": 1, "files.autoSave": "afterDelay" } }
拡張機能 / Extensions
拡張機能のインストール要求
Workspace recommended extensions - official
{ "recommendations": [ "eg2.tslint", "dbaeumer.vscode-eslint", "msjsdiag.debugger-for-chrome" ] }
*.code-workspace [ref]
{ "extensions": { "recommendations": [ "eg2.tslint", "dbaeumer.vscode-eslint", "msjsdiag.debugger-for-chrome" ] } }
Recommendationというより強制したい場合はrecommendationを消せなくさせればよい.
settingsにおいて [ref]
extensions.showRecommendationsOnlyOnDemand: false, extensions.ignoreRecommendations: false
multi-root workspace / .code-workspace
*.code-workspaceファイルにて設定.
workspaceに含まれるroot directriesを指定する.
UseCase: 特定のプロジェクト (workspace) でのみ拡張機能を有効にしたい
エディタ一般が悩む問題として、拡張機能の入れすぎでエディタが重くなる問題がある。
ユーザー設定で拡張機能を入れていくと、各プロジェクトspecificな拡張機能がじゃんじゃん追加され、使っていないけど重さの原因となることがしばしばある。
拡張機能の設定をworkspace settingsで行えば、必要な機能のみをenable (≠specific install) にできる(はず)