最近遇到一个问题,还没有解决:就是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的插件加载时间,这个不是主要影响加载时间长的原因。

更多推荐