使用remote-ssh扩展,我们现在可以使用vscode的远程开发特性,这意味着我们可以从本地vscode访问远程计算机中的文件。我发现除了远程ssh扩展之外,还有一个vscode服务器在远程机器上工作,用于与本地vscode通信。

看起来这是远程机器中本地vscode和文件系统之间的桥梁,也就是说vscode通过.vscode服务器访问远程文件。但是当我阅读vscode的源代码时,我仍然找不到他们用来通信的协议,看起来不是http,也许是ssh,但我仍然没有得到详细信息。有人知道访问远程文件系统的本地和远程之间的细节吗?例如,客户端如何启动文件读取,以及远程如何将文件内容返回给客户端,以及它们使用的协议。以及远程如何从本地执行命令,例如源代码管理中的git命令。
我们可以在vscode中找到vscode-server的一些源代码:
https://github.com/microsoft/vscode/blob/main/src/server-main.js https://github.com/microsoft/vscode/tree/main/src/vs/server/node
发布于 2022-09-05 10:25:45
不是一个完整的答案,但提供远程连接的扩展是Microsoft/Github的“远程-ssh”(https://code.visualstudio.com/docs/remote/ssh)。VS代码使用ssh通道,通过使用ssh连接发出命令来安装它们的VS代码服务器及其依赖项,从而有效地在本地和远程计算机之间进行对等的专有交换。
VS代码扩展通常在其信息中有一个指向包含源代码的Github回购的链接,但在remote-ssh的情况下,回购仅用于反馈&代码似乎并不是开源的。(https://github.com/Microsoft/vscode-remote-release)
注意,remote-ssh扩展使用远程代码执行主要是为了“利用VS代码的全部功能集”(大概包括远程构建和调试),而不是简单的文件访问。这个扩展名确实提供了远程文件访问,但是还有一些更简单的扩展名,比如ftp简单的扩展名,它们只提供了这些功能。
https://stackoverflow.com/questions/73600581
复制相似问题