たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

VSCodeの使い勝手を良くする: 各種設定の内容と利用方法

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で利用できなくなる。

/.vscode/settings.json [ref]

{
  "diffEditor.ignoreTrimWhitespace": true,
  "diffEditor.renderIndicators": true,
}

.code-workspace [ref]

{
    "settings": {
        "window.zoomLevel": 1,
        "files.autoSave": "afterDelay"
    }
}

拡張機能 / Extensions

拡張機能のインストール要求

Workspace recommended extensions - official

.vscode/extensions.json [ref]

{
    "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) にできる(はず)


  1. The workspace setting file is located under the .vscode folder in your root folder. ref