我经常使用VSCode的远程开发扩展。我可以在VS代码中使用终端,就像它在我自己的机器上一样,甚至code命令也可以正常工作。也就是说,当我在远程VSCode会话中时,我可以输入code path/to/some/file,它将打开包含该文件的另一个编辑器选项卡。终端会话和正在打开的文件位于我所连接的远程机器上。
我在远程机器上安装了VSCode,并且code可执行文件在我的PATH中。所以我的问题是,这个功能是如何在幕后实现的?也就是说,VSCode如何知道当我键入code path/to/some/file时,它应该在我机器上的另一个编辑器选项卡中打开该文件,而不是尝试在远程机器上启动VSCode?
发布于 2020-06-26 04:38:14
就在我写下问题几秒钟后,我找到了答案。
如果我在终端中运行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
path path源码我通常使用的profile
我还假设注入的code可执行文件正在以某种方式与我的本地VSCode实例通信,指示它在其编辑器中打开该文件。
https://stackoverflow.com/questions/62583877
复制相似问题