VsCode 本地与 SSH 云端双窗口切换问题
之前一直在用PowerShell跑ssh与云端连接,最近突然想换一换工具于是准备在VsCode上跑ssh插件与云端进行连接。环境安装过程一切正常,直到关闭所有窗口再重新打开VsCode之后,发现除了ssh以及一些美化插件之外,其它工程拓展全部“丢了”(Keil/ESP Tools等等)——也就是默认打开VsCode后不再是我的工程面板,而是云端ssh连接。
一开始还以为是装ssh插件的时候误删了我的工程拓展插件,不过越想越不可能。我核实了一下我的本地拓展,全部都齐全,没有出现丢失的情况。
后来发现在打开VsCode默认窗口的基础上再开启一个新工作区窗口之后我的拓展又全部都回来了。
经查问题出现在VsCode的窗口打开机制上面。ssh插件是窗口级别的,也就是一个云端机一个窗口;而我之前的Keil等拓展插件只是普通插件,绑定在本地LOCAL窗口上,因此在启用并进入ssh后这些拓展并不会被加载,自然就出现了所谓的“丢失”现象。
至于为什么默认启动是ssh而不是原先的工作区——VSC默认的打开行为是恢复上一次的窗口,我们上一次关闭VSC的时候停在了ssh窗口,因此下一次启动直接就默认启动ssh了,而不是工作区。具体见下列文件:
1 | |
该文件是用户的全局配置文件,在里面加上一条:"window.restoreWindows": "none",
这样每次启动就会默认启动本地工作区了,需要用到ssh的时候再手动启动ssh工作区。
VsCode 本地与 SSH 云端双窗口切换问题