RustのDevcontainerにVSCodeの拡張機能を追加しよう
はじめに
前回の記事でRustの開発ツールをDevcontainerに追加しました。
今回はVSCodeの拡張機能を追加していきましょう。
追加済みのコードはこちらにあります。
最速で環境を構築する場合
クローンすればすぐ環境を作成できます。
git clone https://github.com/ao-39/rust_devcontainer.git -b add_extensions
VSCodeの左下の><
のメニューからコンテナーのリビルド
を選択すれば環境を立ち上げられます。
とはいえ、リポジトリには反映せず、自分しか使わない拡張機能を自分だけ使えるようにするのが、開発者にとって気になるポイントだと思います。
自分の環境だけに拡張機能を設定する方法
VSCodeの設定画面から設定する
VSCodeの設定を開きユーザー
の設定のタブを開いた状態で、
dev.containers.defaultExtensions
と検索して項目の追加
をクリックして編集画面を開き、拡張機能IDを入力します。
拡張機能のIDの取得方法
拡張機能を検索し、歯車メニューの拡張機能のIDをコピー
取得できます。
settings.jsonから設定する
VSCodeの設定画面の右上の赤い線を引いてるマークからもsettings.json
を開くことができます。
settings.json
にdev.containers.defaultExtensions
の項目に拡張機能のIDを入れることでも設定可能です。
{
...
"dev.containers.defaultExtensions": ["github.copilot"]
}
チーム共通で使う拡張機能を設定する方法
VSCodeの拡張機能画面から設定する
開発コンテナをVSCodeで開き、拡張機能の画面の歯車のメニューからdevcontainer.jsonに追加する
を選択することで追加されます。
現在開いている開発コンテナには拡張機能が適応するには、開発コンテナを一度閉じて、再び開くか、開発コンテナーにインストールする
をクリックしてください。
.devcontainer/devcontainer.json
から設定する
devcontainer.json
のextensions
に拡張機能のIDを記入していきます。
{
...
"customizations": {
"vscode": {
"extensions": [
"rust-lang.rust-analyzer"
]
}
}
}
便利なVSCode拡張機能
こちらの方がまとめていたものが参考になりました。
devcontainer.json
に追加するときのリスト
{
...
"customizations": {
"vscode": {
"extensions": [
"rust-lang.rust-analyzer",
"vadimcn.vscode-lldb",
"serayuzgur.crates",
"JScearcy.rust-doc-viewer",
"Swellaby.vscode-rust-test-adapter",
"tamasfe.even-better-toml",
"ritwickdey.LiveServer"
]
}
}
...
}
Cargo.tomlの場所がプロジェクトのルートにない場合はVSCodeの設定を追加します。
rust-analyzer
がCargo.tomlを探せるようにしてあげます。
...
"customizations": {
"vscode": {
...
"rust-analyzer.linkedProjects": [
"./app/Cargo.toml"
]
}
}
...
おわりに
VSCodeの便利な拡張機能を追加する設定をしました。今後は拡張機能やRustのツールの使い方について記事を作成していきたいと思います。
Discussion