VS Code のユーザー設定

先日、多分元日、はてなブックマークで、VScodeの設定(settings.json)まとめ【20231月更新】なる記事を見た。settingssetting かなどゞうでもよい[1]けれど、蓋し VS Code の設定で最も重大なのは以下の項目だらう。誤解のないやうに明記すると、リンク先の記事は、ツールとしての VS Code の設定について、誰にでも馴染むものではないにせよ、丁寧に記述された、良い記事だと思ふ。

エディター

改行コードを LF にする。多くの言語で、言語仕様かコーディング規約で LF が要求されてゐる。メモ帳Notepadが CRLF しか扱へなかったのも昔の話となった:

"files.eol": "\n",

CSV のやうな例外は個別に設定してもよいが、ほとんどの場合、言語サポートや EditorConfig などで適切に設定されるので、何もしなくてもよい。自分で設定するなら、

"[csv]": {
  "files.eol": "\r\n",
},

とする。

ファイルの自動保存

手動保存する習慣が無い[2]ので、エディターからフォーカスが外れたらファイルが自動保存されるやうにする。off でなければ何でもよいと思ふ:

"files.autoSave": "onFocusChange",

エクスプローラー

Unicode 順に竝べ替へる。README や COPYING をスクリーミングケースにしたのは、Unicode 順で竝べられたときにより上位に表示させるためだったはずだ。結果として、GitHub と同じ順で表示されることにもなる:

"explorer.sortOrderLexicographicOptions": "unicode",

ターミナル

拡張機能が環境に参加したがってゐるときに、ターミナルが自動的に再起動しないやうにする。さういふときは手動で増設したり、再起動させたりすればよい。ターミナルみたいなものが勝手に再起動して嬉しかった試しはない:

"terminal.integrated.environmentChangesRelaunch": false,

ターミナルが子プロセスを実行してゐるときに VS Code を終了させようとすると、確認が入るやうにする:

"terminal.integrated.confirmOnExit": "hasChildProcesses",

オーディオキュー

オーディオキューの音量を 100 % にする。オーディオキューは、主にスクリーンリーダーで VS Code を操作するときに使ふ、特定の状態に遭遇したことを特別な音で通知する機能だ。私は VoiceOver くらゐしか使はないが、VO の場合、行を移動すると、移動先の内容がすぐに読み上げられる。この声のボリュームは結構大きいので、読み上げの音量設定にもよるが、デフォルト (70 %) では、キューがほとんど聞こえないことがある:

"audioCues.volume": 100,

自動更新

拡張機能は有効なものゝみ自動更新する。特定のワークスペースで有効にしてゐる拡張機能は、そのワークスペースを開くまで更新しなくてもよいはずだ:

"extensions.autoUpdate": "onlyEnabledExtensions",

テレメトリ

無効にする。匿名化されたデータを VS Code 開発チームや Microsoft がしうしふすることは差󠄂し支へないが、サードパーティの拡張機能開発者にはさういふものも渡したくない。そも〳〵私は使用状況の共有といふ概念が好きではない:

"telemetry.telemetryLevel": "off",

拡張機能は、追加の情報を蒐集する場合、テレメトリのための固有の設定を持ってゐることがある。さういふ設定の ID は大抵、*.telemetry.enabled のやうな形をしてゐるので、⌘ , または ^ , で設定を開き、検索して無効にする。

ワークスペースの信頼

幸ひにも最近のバージョンでは、親ディレクトリを信頼できるやうになった。当初はできなかったと思ふ。自分のリポジトリを格納してゐる場所を信頼しよう。⇧ ⌘ P または ^ ⇧ P でコマンドパレットを開いて、Workspaces: Manage Workspace Trust を実行し、信頼済みフォルダーとワークスペースに追加する。かういふことを手作業で行ふと、その部分に関する精神的安定が得られる

外観

カラースキームを自動検出する。私は OS のライトテーマ/ダークテーマをよく(と言っても、日に数回程度だが、)変更するので、できるだけ多くのアプリを同様に設定してゐる:

"window.autoDetectColorScheme": true,

  1. 私がその機能に名前を付けるなら、設定項目が1つしかなくても settings とすると思ふ。 ↩︎

  2. 以前はあったが、SaaS が増えてきたので意識してやめた。ブラウザー上で動作する SaaS で ⌘ S または ^ S とすると、ウェブページを保存しようとしてしまふ。 ↩︎