【问题标题】:Open files from remote ssh host in VSCode在 VSCode 中从远程 ssh 主机打开文件
【发布时间】:2021-06-09 08:58:24
【问题描述】:

我正在使用笔记本电脑 (Linux) 上的 VSCode Remote SSH 来处理驻留在 Linux 主机上的项目。

如果我在 VSCode 中打开一个内部终端,我可以通过 code some_file.txt 从主机打开文件。我经常希望能够在并非源自 VSCode 的终端上执行相同的操作。

在连接到标准(非 VSCode 内部)终端时,是否可以在 VSCode 服务器中打开文件?

【问题讨论】:

    标签: visual-studio-code vscode-remote


    【解决方案1】:

    another StackOverflow answer了解到,如果你打开一个集成终端,找到VSCODE_IPC_HOOK_CLI环境变量,并在非集成终端中将其设置为相同的值,然后从代码服务器安装运行code目录~/.vscode-server,它将起作用。那篇文章没有提到您可以在~/.vscode-server 目录中安装多个。当前安装可以从VSCODE_GIT_ASKPASS_MODE变量中提取出来,看起来像这样:

    $ echo $VSCODE_GIT_ASKPASS_NODE
    /home/<user>/.vscode-server/bin/054a9295330880ed74ceaedda236253b4f39a335/node
    

    只需去掉node 并添加bin,然后运行类似

    $ /home/<user>/.vscode-server/bin/054a9295330880ed74ceaedda236253b4f39a335/bin/code myfile.txt
    

    编辑: 这是一个将终端连接到最新创建的 vscode 窗口的小脚本。

    ❯ cat ~/.local/bin/connect_vscode.sh
    export PATH="${HOME}/.vscode-server/bin/$(ls -t1 ${HOME}/.vscode-server/bin | head -n 1)/bin:${PATH}"
    export VSCODE_IPC_HOOK_CLI="$(ls -t1 /run/user/$(id -u)/vscode-ipc-* | head -n 1)"
    # Tell tmux to set these variables for new windows/panes.
    # Remove if you don't use tmux
    tmux setenv PATH "$PATH"
    tmux setenv VSCODE_IPC_HOOK_CLI "$VSCODE_IPC_HOOK_CLI"
    

    【讨论】:

    • 谢谢,我通过调查内部终端的环境发现了这一点。我有一个小脚本,用于查找最新打开的 vscode 实例的正确路径。一旦我在电脑前,我会在这里添加它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2021-11-23
    • 1970-01-01
    • 2021-11-25
    • 2022-08-15
    • 1970-01-01
    • 2019-11-21
    相关资源
    最近更新 更多