Visual Studio Code是否支持与远程服务器同步代码?

11
请帮我理解关于Visual Studio Code的一些内容。我已经花了几天的时间搜索和测试这个工具,但仍然无法像我想要的那样使用它。以前我用Netbeans进行工作,它支持本地目录内容,并将文件更改与远程服务器同步。如果我创建或更改一个文件,它将被发送到远程服务器。我希望在Visual Studio Code中也能够实现同样的功能,但我找不到如何实现。我知道有Visual Studio Code Remote - SSH,它允许直接更改远程文件,但我想要本地副本。然后有Sync-Rsync扩展,它几乎可以实现我想要的,但并不完全符合我的要求。它只允许将更改后的文件发送到远程服务器,但完全忽略文件和文件夹的创建或删除。或者可能是我不知道如何配置它才能正常工作。也许有人对此有更多经验,并愿意分享一些想法吗?

1
我不使用VS Code,但我认为大多数IDE都称之为“部署”。在菜单中查找此选项。 - Barmar
1
你可以使用 Git 与远程服务器同步吗? - Philippe
VSCode 本身实际上并没有提供太多功能,大部分功能都是由插件提供的。你可能需要找到一个合适的插件(虽然将其与使用远程映射的 git 进行源代码控制相结合可能是一个非常好的解决方案,也是非常常见的设置)。 - ADyson
是的,应该有一些扩展程序可以做我需要的事情。我的问题只是我不知道哪一个扩展程序。到目前为止,我尝试过的所有扩展程序都只能部分地满足我的需求。VSCode也有部署扩展程序,但我认为它们不能自动与我的操作同步。 - DMG
@ADyson 是的,这是一个开发者可以分享他们的知识的网站,对吧?我认为这就是我在这里提问的原因。但我真的不知道版本控制系统怎么能帮助我。我正在处理php代码,并不是所有的更改都需要在版本控制中看到。但我希望在远程服务器上看到所有的更改,以便立即进行测试。 - DMG
显示剩余6条评论
2个回答

10

在我看来,这是一个合理的问题!虽然此答复对 OP 来说无疑太晚了,但希望它能帮助其他人。我一直被同样的问题困扰,我使用了 liximomo 的 SFTP 扩展程序,它似乎功能齐全且文档合理。对我来说效果还不错,它有超过 100 万次下载量,并获得了基于 225 条评论的 4 星评价。不幸的是,自 2019 年以来没有更新,最近的评论也不好。还有几个同名的其他扩展程序, 下载量和评论较少。这个扩展程序看起来很有前途:它是 liximomo 项目的分支,最近更新时间为 8 天前,近 30K 次下载,22 条评论平均得分为 5 星。实际上,看到这个,我想卸载 liximomo 版本并安装这个版本,感谢你让我去研究这个问题。

[2022年2月更新:我曾提到要尝试的扩展名为Natizyskunk的SFTP。现在它已经有42K次下载,并且有26条评论,平均评分为5星。当我刚刚检查时,它昨天刚刚更新,这是自去年11月一系列更新以来的第一次更新。虽然我没有经常使用它,但在我使用时它表现良好。]

Sync-Rsync已经有大约26K次下载,基于21条评论的4.5星。更改日志也是2019年的版本。


2
这对我来说似乎很奇怪,因为没有本地的vscode功能..我刚刚偶然发现了这个问题,我不明白为什么人们会更喜欢远程ssh而不是在后台同步的本地副本..想象一下,有一天你必须旅行,在路上,你的连接很差。远程ssh是一个非常糟糕的解决方案。 - c0mr4t
还不太行,因为如果您想要调试在远程机器上运行的代码,您需要启动两个VScode实例,一个本地实例和一个ssh到远程实例。 - Jonathan

0

您可以使用Satiro Marra的sftp扩展。它将创建、更新、删除、重命名远程文件,就像在Netbeans中一样。但这不是默认行为,您需要按照以下配置进行添加。

 "watcher": {
    "files": "**/*",
    "autoUpload": true,
    "autoDelete": true
  },
"uploadOnSave": false,

或者完整的示例配置文件:

    {
    "name": "My Server",
    "host": "1.1.1.1",
    "protocol": "sftp",
    "port": 22,
    "username": "username",
    "password": "pass",
    "remotePath": "/full_remote_path",
    "watcher": {
        "files": "**/*",
        "autoUpload": true,
        "autoDelete": true
      },
    "uploadOnSave": false,
    "useTempFile": false,
    "openSsh": true
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接