- VSCode バージョン: 1.47.1
- ローカル OS バージョン: Windows 10.0.19041 N/A ビルド 19041
- リモート OS バージョン: NAME="Ubuntu" / VERSION="14.04.5 LTS, Trusty Tahr"
- リモート拡張/接続タイプ: SSH
接続すると、VSCodeは次のように言う
「この大きなワークスペースではファイルの変更を監視できません。この問題を解決するには、指示リンクに従ってください。」
詳細については以下を参照してください。https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc
ファイル ウォッチャーのスコープを制限してみたいと思います。現在は、小さなディレクトリ内のファイルだけでなく、サーバー内のすべてのファイルを監視しようとしていると思います。
公式文書には次のように記されている:
もう 1 つのオプションは、files.watcherExclude 設定を使用して、VS Code ファイル ウォッチャーから特定のワークスペース ディレクトリを除外することです。files.watcherExclude のデフォルトでは、node_modules と .git の下の一部のフォルダーが除外されますが、VS Code で追跡したくない他のディレクトリを追加できます。
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true }
しかし、私の質問は次のとおりです。
ファイル ウォッチャーはどこを「監視」しますか? 範囲は? サーバー内のすべてのファイルを監視しようとしますか? これらの設定 (実際には 2 行以下) を .vscode/settings.json に追加すると、ファイル ウォッチャーの警告が表示されなくなりました。
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true,
"**/.hg/store/**": true,
"/**": true,
"/home/my-user-name-john-doe/**": false
}
私が言いたかったのは、「VSCode さん、/ ルート ディレクトリ内のすべてのファイルの変更を監視するのをやめて、自分のディレクトリだけに注目してください」ということです。
私の言いたいことは伝わりましたか? 上記の設定はまさに私が言おうとしていたことと同じでしょうか?
次のようなエラーが表示されます:
それはの変化によって引き起こされるのでしょうかsettings.json
?
答え1
この問題は、ファイル エクスプローラーを開くディレクトリ レベルが原因であることがわかりました。つまり、ファイル エクスプローラーを開くと、VS Code は開くディレクトリを /home/yourUsername で自動入力します。これを受け入れると、ホーム ディレクトリ内のファイルのみが監視されます。ただし、これをルート (/) に変更すると、OS 全体のすべてのファイル ウォッチが作成され、システム リソースが消費されます。
ルートとしてリモート接続していないので(そうですよね?)、ファイル エクスプローラーからルート レベルのディレクトリにアクセスすることはできません。