Vscode (code.exe) 通过 SSH 立即打开远程工作区文件夹的命令行参数

Vscode (code.exe) command line arguments to immediately open a remote workspace folder over SSH

如果我想在 C:\ 下的常规本地文件夹上打开工作区,我可以执行命令:

code.exe C:\the-local-workspace-folder

是否有打开远程 SSH 工作区的等效命令?

我希望能够使用我的键盘启动器打开它们,而不是需要在 vscode.

的内部菜单中以繁琐的方式打开它们

所以我需要一个常规的系统命令才能做到这一点。

我在这里查看了命令行参数:https://code.visualstudio.com/docs/editor/command-line - 但根本找不到任何关于远程工作区的信息。

我也试过这样的命令:

code.exe username@hostname.example.com:/workspace-folder
code.exe username@hostname.example.com/workspace-folder

...但他们对此不起作用。

要开始,您需要:

安装 OpenSSH compatible SSH client(如果还没有的话)。

安装Visual Studio Code or Visual Studio Code Insiders.

安装 Remote Development extension pack.

阅读更多:https://code.visualstudio.com/docs/remote/ssh

安装扩展:

code.exe --install-extension ms-vscode-remote.remote-ssh

Follow the step-by-step tutorial 或者如果您有简单的 SSH 主机设置,请按如下方式连接到它:

Press F1 and run the Remote-SSH: Open SSH Host... command. Enter your user and host/IP in the following format in the input box that appears and press enter: user@host-or-ip or user@domain@host-or-ip If prompted, enter your password (but we suggest setting up key based authentication). After you are connected, use File > Open Folder to open a folder on the host.

您可以按 F1 调出命令面板并输入 Remote-SSH 以获得可用命令的完整列表. command list

您可以通过使用 --extensions-dir command-line 选项启动 VS Code 来更改位置。

扩展安装在哪里?# 扩展安装在每个用户的扩展文件夹中。根据您的平台,该位置位于以下文件夹中:

Windows %USERPROFILE%.vscode\extensions

Linux ~/.vscode/extensions

macOS ~/.vscode/extensions

到运行远程ssh并打开command-line中的文件夹:

code.exe --remote ssh-remote+root@server.com <your-directory>

根据 issue tracking here,这看起来像是最近的修复。我已经用自己的设置进行了测试,这有效:

"C:\Users\myusername\AppData\Local\Programs\Microsoft VS Code\Code.exe" \
    --remote ssh-remote+myubuntumachine /home/myusername/myprojectdirectory

myubuntumachine 应该是 CTRL+SHIFT+P/远程 SSH 上 SSH 配置文件中 Host myubuntumachine 中给出的名称:打开配置文件...

(实际上,在我的机器上我没有机器名称,但有某种哈希值,尽管两者都有效。)

VSCode 1.63(2021 年 11 月)添加选项 -n (issue 137529),以确保为远程 CLI 打开新的 window:

The following options got added to the remote CLI:

-n to open a new window of the same remote as the current window -n --remote=wsl+ubuntu to open a new window of a different remote -n --remote=local to open a new local window