通过快捷方式直接启动vsc的远程连接工作区
limitless原创,同步发表在 知乎
https://zhuanlan.zhihu.com/p/691970141
需求是这样的:
我有几台服务器, 上面有很多个工程, 有时候我会去做工程A, 有时候会去做工程B………
而之前, 我每次都是启动vsc之后, 再通过设置的快捷键连接到远程计算机上面, 然后再定位工作目录.
好生麻烦!
于是, 我在想, 地表最强的程序员工具, 肯定是有办法支持这样一种操作的:
- 我只需要双击快捷方式, 就直接启动目标服务器上目标路径下的工程, 没有任何其他多余的操作
- 免密登录
- 这个快捷方式方便扔到任何位置. 比如对于我的工作习惯来说, 我喜欢给每个工程建立一个本地文件夹, 然后把资料代码乱七八糟的都归档到一个文件夹下的各级目录. 这样对于一些工作, 我可以方便的在自己的计算机上面直接处理, 然后有需要的时候直接就在这个文件夹内启动连接到远程服务器的vsc界面了, 这样岂不是方便到家了? (而且vsc内的文件夹目录支持从本地拖放上传和下载)
把文心一言和GPT问冒烟了都解决不了, 最后自己找了一种办法.
解决方案
首先, 创建一个普通的vsc快捷方式, 放到你的工程文件下.
比如你有一个A工程, 你希望在A工程的文件夹下存在一个快捷方式, 双击即可打开一个vsc界面, 直接连接到远程服务器的A工程目录.
像这样:

然后右键, 点开属性

这里需要把目标 里面的内容改一下, 具体来说其实就是添加上启动参数.
比如
我的远程服务器通过ssh登录的命令是
PS ~/> ssh ngc13009@12.34.56.78
或者
PS ~/> ssh ngc13009@sice001.uestc.edu.cn
并且你的ssh端口是默认端口(22),
那么你需要把启动参数改成这个样子
"C:\Program Files\Microsoft VS Code\Code.exe" --remote ssh-remote+ngc13009@12.34.56.78 /path/to/workfile/
然后确定保存就行了, 其他地方可以不用管.
其中/path/to/workfile/是你希望一步到位的工程目录, 比如~/ngc13009/prjA/.
这样就可以方便的启动远程连接工作区了.
非默认ssh端口
如果不是默认ssh端口,那么使用下面的命令
code --folder-uri vscode-remote://ssh-remote+username@IP:Port/path/to/folder/
快捷方式内必须使用带英文引号"的vsc完整路径。
如果目标服务器是Windows系统,那么可以如此访问盘符:
code --folder-uri vscode-remote://ssh-remote+username@IP:Port/c:/path/to/folder/
本地文件夹快捷方式
如果想启动本地,很简单:
"C:\Program Files\Microsoft VS Code\Code.exe" "D:\Projects\MyProject"
关于ssh免密登录
参考正常的ssh免密登录配置方式即可, 只要你的客户端ssh公钥在服务器端受信任内, 那就可以直接ssh过去. 可以参考:
或站内链接:配置ssh免密码登录 – limitless
