VSCode のデフォルトとフォルダごとの設定ファイルを作ろう

公開日:
最終更新日:
VSCode のデフォルトとフォルダごとの設定ファイルの違い

VSCode には settings.json という設定ファイルがあって,これをいじることで自分好みのカスタマイズができます.
今回はこの settings.json のデフォルトの設定とフォルダごとの設定について TeX の自動コンパイル設定を例にして説明します.

1. デフォルトの設定ファイル

普段みなさんがよく使うのはこちらだと思います.
settings.json はショートカットキー(Mac: Cmd + Shift + p, Windows: Ctrl + Shift + p) でコマンドパレットを開き,Preferences: Open Settings (JSON) を選択することで開くことができます.
うまく開ければこんな感じのページが表示されると思います.(中身は空かもしれませんが)

vscode の settings.json
VSCode の settings.json

ちなみに,defaultSettings.json というファイルもあるようですが,readonly ファイルで,基本的な設定が入っているようなので,いじらない方がいいと思います.
ここで設定した内容は VSCode をどのように開いても(上書きされていない限り)適用される設定になります.
なので,基本的に常に適用したいカスタマイズの内容をここに記述しておきます.
筆者の TeX 自動コンパイル設定の場合普段は ptex2pdf を二度実行するので,以下のように設定しています.

{
    "latex-workshop.latex.recipes": [
    {
        "name": "ptex2pdf*2",
        "tools": [
            "ptex2pdf",
            "ptex2pdf"
        ]
    }
    ],
    "latex-workshop.latex.tools": [
    {
        "name": "ptex2pdf",
        "command": "ptex2pdf",
        "args": [
            "-interaction=nonstopmode",
            "-l",
            "-ot",
            "-u",
            "-kanji=utf8",
            "%DOC%.tex"
        ]
    }
    ]
    "latex-workshop.synctex.afterBuild.enabled": true,
    "latex-workshop.view.pdf.viewer": "external",
    "latex-workshop.latex.autoClean.run": "onBuilt",
    // 以下その他の設定
}

基本的な書き方はまず,全体に括弧 {}があって,その中に一つずつ設定をカンマで区切りながら書いていきます.
設定は "設定名": 設定したい内容という風に書けば OK です.
例えば,"latex-workshop.synctex.afterBuild.enabled": true, の行では latex-workshop.synctex.afterBuild.enabled の設定をtrue にして,最後の行でカンマを入れて区切っています.

2. フォルダごとの設定ファイル

一方,あまり知られていないかもしれませんが,フォルダごとの設定ファイルも存在します.
まず, VSCode を開く時には,ただファイルを開くという操作とフォルダを開くという操作があります.
今から説明するフォルダごとの設定ファイルはフォルダを開いた場合のみ適用されます.
また,開いたフォルダの中にあるフォルダの設定ファイルの内容は適用されないので注意してください.

2.1. フォルダの開き方

まずフォルダとして開く方法は主に3つあります.
一つ目は terminal から

$ code path/to/folder

と実行する方法です.

二つ目は VSCode の新規の Window を開き,左のタブから Open Folder を選択して,開きたいフォルダを選ぶ方法です.

VSCode のフォルダの開き方
VSCode のフォルダの開き方

三つ目は Mac の Finder や Windows の Explorer で右クリックをして開く方法ですが,詳細は他の記事に任せます.

2.2. 設定ファイルの作り方

ここでは2つのやり方を紹介します.

2.2.A terminal を使う

一つ目は terminal を使って

$ cd path/to/folder
$ mkdir .vscode
$ touch .vscode/settings.json
$ code .vscode/settings.json

として,開いたフォルダ内に .vscode フォルダを作り,その中に settings.json ファイルを作ってあげればいいです.(コマンドプロンプトで実行する際は少しコマンドが変わると思います.)

2.2.B VSCode から設定ファイルを開く

二つ目はフォルダを開いた VSCode の Window で,ショートカットキー(Mac: Cmd + ,, Windows: Ctrl + ,) を押して,Settings の UI を開き,User タブから Workspace タブに移動して,右上にある Open Settings (JSON) をクリックすると開くことができます.(User タブで設定できるのがここでいうデフォルトの設定で,Workspace タブで設定できるのがフォルダごとの設定です.)

Settings.json の開き方
Settings.json の開き方

2.3. 設定ファイルの例

以上のようにしてフォルダごとの設定ファイルが開けたと思います.
ここで設定した内容はデフォルトの設定を上書きすることができるので,このフォルダで作業する時だけ適用して欲しい設定を記述していきましょう.
例えば,bibtex のコンパイルを行ったり,以下の記事で紹介したように PDF をクロップしたりする時に便利です.

PDF をクロップするときは先程のデフォルトの設定ファイルに必要な tool (ptex2pdf, pdfcrop, pdftopng, transparent) を全て用意しておき,フォルダごとの設定ファイルでは以下の recipe だけを記述します.

{
    "latex-workshop.latex.recipes": [
    {
        "name": "ptex2pdf_nosync*2 -> pdfcrop -> pdftopng",
        "tools": [
            "ptex2pdf",
            "ptex2pdf",
            "pdfcrop",
            "pdftopng",
            "transparent"
        ]
    }
    ]
}

たったこれだけで,この Window では自動でクロップすることができるようになって,他のフォルダには何も影響を及ぼしません.

3. まとめ

以上のように VSCode のデフォルトとフォルダごとの設定ファイルを使い分けることで,いとも簡単にカスタマイズできるようになります.
TeX の設定に限らずいろいろな設定で使えると思うので,ぜひ理解して使ってみてください.

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA