リポジトリごとに拡張機能を共通化したい時ってあると思います。
その時の設定を残しておきたいと思います
TL;DR
- vscodeのワークスペースを使用する(限定的にする)
- vscodeを使用しているチームにおすすめ
※今回はPrettierを例にしていますが、
- 拡張機能を共通化(.vscode/extensions.json)
- リポジトリでVSCodeの挙動を共通化(.vscode/settings.json)
が目的であれば一読の余地ありかと!
対象読者
- vscode v1.52.1以上
- チームでvscodeを使用している
背景
例えば、チームでPrettierを既存のプロジェクトに導入していくのが決まったとして、大体Prettierを入れる目的って、フォーマッター使用してレビュー負担を減らしたいだったりすると思います
そうであれば、Prettierを発動させるベストなタイミングは
- プロジェクトを担当しているメンバーのエディター(vscode)上
- ファイル保存したタイミング
- 拡張機能もたっくさんあるから同じの使いたいね
- でも、他のプロジェクトには影響させたくないね
上記の要望はjsonファイル用意して解決していきましょう
ファイルを保存したタイミングでフォーマッターを適応させる
-
command + ,
で設定を開きましょう(Mac) - ワークスペースの設定のタブをクリック(これしないと、全体適応になってまう)
- 検索欄に「onsave」とかいれると、「Format On Save」がデフォルトでチェック外れているので、チェックいれる
すると、自動で.vscode/settings.json
が作成されたと思います
それがあるフォルダ配下にだけ、ユーザー設定に上書きされて適応されます
これで、ファイル保存時にPrettierを適応させる準備が整いました
対象の拡張機能をおすすめさせる
Prettierの拡張機能たくさんありすぎて字が読めなーい!!!ってならないように拡張機能を選びましょう
今回は公式で勧められている拡張機能を選びます
VSCodeの拡張から、prettierを検索して、歯車マークを押すと、
「ワークスペースの推奨事項に追加する」を押すと、「.vscode/extension.json」に対象のIDが配列に追加されれば完了です
おすすめ強制機能オン設定
まだこれだけではおすすめ機能を出すことができません
"extensions.ignoreRecommendations"
という項目をfalse
にしないと、おすすめされないのです
ということで、先ほどの.vscode
フォルダにあるsetting.json
に追記しましょう
{
"editor.formatOnSave": true,
"extensions.ignoreRecommendations": false
}
結果
上記設定がされたフォルダをvscodeで開くと・・・
インストールしてほしい、拡張機能を表示させることが出来ましたとさ
.vscode/extensions.json
.vscode/settings.json
をGitHubなどのリポジトリにプッシュすれば、これからプロジェクトに参加する人におすすめすることができましたとさ
めでたしめでたし