最近遇到一个问题,还没有解决:就是vscode打开虚拟机Ubuntu中的文件:Uboot文件夹或者Kernel内核源码文件,但是打开后没法直接使用需要加载好一会,尤其是资源管理器有时候会卡住,特别是在使用wifi无线上网的情况下。
在网上搜索了一些资料,尽量都尝试了,但是不知道有没有用:
方法1:排除不必要的文件夹监视(最核心有效的方法)
也就是打开远程Ubuntu的IP中的settings.json文件,然后将一些不需要监视的文件夹忽略掉:

"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/bower_components/**": true
}
这种方法,我没有尝试,因为文件夹名字不一样,所以就没尝试。
方法二:优化 SSH 连接配置
也就是修改本地windows的.ssh文件夹中的config文件:
Host 你的远程主机别名
HostName 你的服务器IP或域名
User 你的用户名
# 开启 SSH 传输压缩,对小文件多的项目提升明显
Compression yes
# 使用更高效的加密算法,降低传输开销
Ciphers aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes128-ctr
# 开启连接复用,避免每次操作都重复握手
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h:%p
ControlPersist 600
注意,其中最后一个配置"开启链接复用,避免每次操作都重新握手"中的ControlPath,我设置后没有成功,并且链接SSH失败,因此我就屏蔽掉了。

最后,我尝试将后面的%r@%h:%p改成了Ubuntu远程的相关信息,也不可以。

方法三:调整远程 Ubuntu 的系统限制
首先,查看"max_user_watches"的数据
bash
cat /proc/sys/fs/inotify/max_user_watches
其次,修改"max_user_watches"的数据:
bash
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
方法四:限制在远程运行的插件
在本地 VSCode 的设置中搜索 remote.extensionKind,将一些不需要在远程运行的插件(比如部分本地美化类、非语言类的插件)强制指定在本地(UI)运行:
也就是修改本地的settings.json文件。
bash
"remote.extensionKind": {
"draivin.hscopes": ["ui"],
"beishanyufu.ime-and-cursor": ["ui"],
"OrangeX4.vscode-smart-ime": ["ui"],
},
这种方法,我也没有尝试,因为这个主要是降低远程Ubuntu的插件加载时间,这个不是主要影响加载时间长的原因。