繁体   English   中英

VSCode 的远程扩展如何通过其内部终端在我的本地编辑器中打开文件?

[英]How does VSCode's Remote Extension open files in my local editor through its internal terminal?

我经常使用 VSCode 的远程开发扩展。 我可以在 VS Code 中使用终端,就好像它在我自己的机器上一样,甚至code命令也可以正常工作。 也就是说,当我在远程 VSCode session 中时,我可以键入code path/to/some/file ,它将打开另一个包含该文件的编辑器选项卡。 终端 session 和正在打开的文件位于我连接的远程计算机上。

我在远程机器上安装了 VSCode,可执行code在我的PATH中。 所以我的问题是,这个功能是如何在幕后实现的? 也就是说,VSCode 怎么知道当我键入code path/to/some/file时,它应该将该文件打开到我机器上的另一个编辑器选项卡中,而不是尝试在远程机器上启动 VSCode?

在我写完问题几秒钟后,我找到了答案。

如果我在终端中运行which code ,它不会解析为通常的 VSCode 可执行文件,而是解析为位于$HOME/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321/bin/code的代码。

如果我echo $PATH ,我可以看到$HOME/.config/bin$HOME/.vscode-server/bin/a5d1cc28bb5da32ec67e86cc50f84c67cc690321/bin已附加到我的 bash 配置文件生成的PATH环境变量的开头。

我假设这意味着 VSCode 正在使用不同的配置文件脚本执行 bash

  1. 来源我通常的 bash 配置文件
  2. 创建上面的目录并将一些帮助程序复制到其中
  3. 修改我的路径以包含这些目录

我还假设注入的code可执行文件以某种方式与我的本地 VSCode 实例通信,指示它在其编辑器中打开文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM