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