VS Code(Visual Studio Code)v1.57へバージョンアップ時の制限モード(Workspace Trust)のダイアログの対処
VS Code(Visual Studio Code)をv1.57へバージョンアップしたタイミングで
プロジェクトを信頼するかどうか(制限モードを利用)のダイアログについてメモしました。
経緯
VS Codeをアップデートした際にダイアログが表示され「No」を選択したところ
制限モードとなりできることが限定されてしまったためです。
環境
Visual Studio Code 2021 1.57
アップデート時のメッセージ
アップデート時に下記のメッセージが表示されました。
メッセージの内容原文
vbnetDo you trust the authors of the files in this folder?
Code provides features that may automatically execute files in this folder.
If you don't trust the authors of these files, we recommend to continue in restricted mode as the files may be malicious. See our docs to learn more.
メッセージの意味
開いたプロジェクトを信頼するかどうかのダイアログになります。
VS Codeでは他の人が作成したプログラムが実行される仕組みがあり、気付かぬうちに勝手に実行されてしまうことで不利益を被る可能性があります。
そのためプロジェクト自体が**信頼できる(Yes)か信頼できない(No)**かどうかの確認を求められています。
確認の回答
Yesと回答すると通常通りプロジェクトが起動します。
Noと回答すると制限モードでプロジェクトが起動します。
制限モードとは
ワークスペースの機能を一部無効化することのできる機能です。 タスク、デバッグ、ワークスペース設定、拡張機能など、いくつかのVS Code機能の操作を無効化や制限をすることによりコードの自動実行を防止します。
それぞれの制限
タスク
タスクはスクリプトとツールバイナリを実行できます。
タスク定義はワークスペースの.vscode
フォルダーで定義されているためリポジトリのソースとして管理するケースがあります。
その場合悪意のある人が作成したタスクがリポジトリへコミットされてしまった場合、知らないうちに実行する可能性があります。
そのため制限付きモードではタスクの実行は無効になります。
デバッグ
タスクの実行と同様に、デバッグ拡張機能は、デバッグセッションの起動時にデバッガーバイナリを実行できます。
そのため制限付きモードではデバッグは無効になります。
ワークスペース設定
ワークスペース設定はタスク同様に.vscode
配下のworkspace
のルートにあるフォルダーに保存されるため
悪意のある人悪意のあるコードを指すように設定すると、損傷を与える可能性があります。
そのため制限付きモードでは一部のワークスペース設定は無効になります。
拡張機能 拡張機能はユーザーに代わってコードを実行し害を及ぼす可能性があります。 そして一部の拡張機能には予期しない実行可能ファイルを実行するように構成されている場合に悪意を持って動作する可能性のある設定があります。
そのため制限付きモードではワークスペーストラストを明示的にオプトインしていない拡張機能は無効になります。
制限モードの切り替え
制限モードの切り替えは左下の歯車の設定から実施できます。
Manage Workspace Trustを開く
設定 > Manage Workspace Trust(ワークスペースの信頼を管理)
切り替え手順
信頼を取り消す場合とワークスペースを信頼する場合それぞれ下記の手順で実施します。
信頼を取り消す
Trusted Folders & workspaceの一覧から取り消したいプロジェクトの右側の×をクリック
ワークスペースを信頼する
Trusted Folders & workspaceの左下のAdd Folerから対象のディレクトリを開く
新規プロジェクト
ダイアログからYes, Itrust the authorsをクリック
参考文献
Visual Studio Code Workspace Trust security
記事Article
もっと見る- article
Dockerの利用していないゴミを掃除しディスクスペースを解放するいくつかのやり方を紹介
- article
Next.js のバンドルサイズを可視化する@next/bundle-analyzer の紹介
- article
VSCodeでTypescriptファイルのimport補完で相対パスではなくエイリアスするための設定
- article
UUIDより短いユニークなIDを生成できるnpmライブラリnanoidの使い方
- article
【解決方法】TypeScript発生したTS2564 エラーの対処
- article
express で IP を取得する際などに利用する req.connection 非推奨(deprecated)の対処