繁体   English   中英

本地 vscode 客户端如何操作远程机器中的文件?

[英]How does the local vscode client manipulate files in the remote machine?

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

在此处输入图像描述

看起来它是本地vscode和远程机器中文件系统之间的桥梁,也就是说vscode通过.vscode-server访问远程文件。 但是看了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

不是一个完整的答案,但提供远程连接的扩展是 Microsoft/Github 的“remote-ssh”( https://code.visualstudio.com/docs/remote/ssh )。 VS Code 使用 ssh 通道在通过使用 ssh 连接发出命令来安装其 VS Code 服务器及其依赖项来引导进程后,在本地和远程计算机之间有效地进行对等专有交换。

VS 代码扩展通常在其信息中包含指向包含源代码的 Github 存储库的链接,但在远程 ssh 的情况下,该存储库仅用于反馈并且代码似乎不是开源的。 https://github.com/Microsoft/vscode-remote-release

请注意,remote-ssh 扩展使用远程代码执行主要是为了“利用 VS Code 的完整功能集”(可能包括远程构建和调试),而不是简单的文件访问。 该扩展确实提供远程文件访问,但有更简单的扩展,例如 ftp-simple 仅提供远程文件访问。

暂无
暂无

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

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