首页 > 解决方案 > VS Code:如何在多个系统之间同步工作区?

问题描述

更新:
事实证明,我真正想要的是能够在我的笔记本电脑上进行远程开发,并且 - 如果我也在我的机器人上做了一些本地的事情,那么我的主要开发系统上就会出现更改。

参考:
这个大体相似的问题是在大约 10 个月前被问到的,从那时起就没有收到任何回复。由于从那时起 VS Code 有了很多改进,(而且由于 Stack Overflow 不鼓励“我也是!”的回复),我决定重新提出这个问题,希望有人会注意到它并回复。

即:https ://stackoverflow.com/questions/60034690/how-to-sync-workspace-folder-beween-host-and-remote-target

环境:

我之前的工作流程是在 Windows 机器上开发,转移到机器人上,使用 Thonny 在 'bot 上运行,记录任何错误并就地修复它们(在 Thonny 内),然后转移回 Win-10 机器或在 Windows 10 中修复并传输回“bot”。

“笨拙”是轻描淡写的杰作。

现在我已经在机器人上设置了远程开发,我相信我可以避开大部分。

我注意到,在机器人的工作空间副本中,大多数(如果不是全部)文件现在要么“修改”,要么“未跟踪”,并且从“机器人”更新我的 GitHub 存储库会导致各种混乱。

我想要的是在任一平台上无缝开发的能力。( ,在下一次连接时,在一个上所做的更改会自动反映在另一个上。)我希望以这样一种方式做到这一点,即提交和/或更改状态准确地反映在两台机器上。

我可以详细解释为什么这对我有用,但是这个问题已经足够长了。

任何帮助将不胜感激。

标签: javascriptpythonvisual-studio-coderaspberry-piremote-debugging

解决方案


好的,我想我已经弄清楚了。

第 1 课:

  • 事实证明,我最初的问题实际上更多是关于工作流程和“做特定事情的最佳方法是什么”,而不是如何进行双重开发。所以,本质上,我问错了问题。
    (所以,我现在必须对自己投反对票,因为我问了一个虚假的问题,对吧?:wink!:)

第 2 课:

  • 您不必在远程设备上安装整个 VS Code IDE
    那是最初的错误——我误解了“在远程设备上安装 VS Code”,我在两个位置都安装了 IDE 本身
    • 结果是它大大减慢了机器人的速度,以至于无法使用。
    • 安装了多个 VS Code IDE 实例会让人对发生的事情感到困惑。

第三课:

  • 我没有意识到 VS Code 可以安装一个小型服务器模块(就像某种垫片),并在远程设备上执行一些 SSH 魔术,允许 VS Code 使用远程设备,就好像它在您的主计算机本地一样,或者笔记本电脑。

  • 您所做的是在本地设备上打开 VS Code,然后告诉它您要连接到远程设备进行开发。

  • 一旦你把它整理好——这是非常特定于站点的,网络搜索是你的朋友——你可以编辑代码,甚至从本地计算机执行代码,让它在远程设备上运行,就像你身临其境一样。


就我而言,(在尝试了几种不同的方式来处理我的项目之后),我发现将 VS Code IDE 放在基于 Windows 的笔记本电脑上,并将“服务器”,(垫片)模块放在机器人上,(具有适当的扩展已安装),提供了几乎无缝的环境,不会明显加载机器人的处理器 - Raspberry Pi 4。

  1. 确保本地计算机上的工作区在 GitHub(我的项目存储库所在的位置)上完全是最新的。

  2. 安装必要的 VS Code 远程开发模块并确保您可以与远程系统通信。具体如何执行此操作取决于您的环境。

  3. 使用 VS Code 中的远程开发工具将相关的 GitHub 存储库“同步”或“克隆”到设备,就好像它是您的本地机器一样。

  4. 请注意,这是非常系统和站点特定的。VS Code 可以很好地帮助您完成此过程,并且网络搜索将迅速清除任何挥之不去的问题或问题。

最终,您将在远程平台上拥有一个完全最新的版本。


完成此操作后,您将不必手动同步代码,因为代码已经在 'bot. 您所做的就是在本地机器上编辑代码(例如我的 Windows 笔记本电脑),然后从 VS Code 运行它。


另一个优点是,如果您必须复制或克隆机器人的工作区,或从备份中恢复工作区(您确实将项目放在单独的文件夹中,不是吗?),所有“vscode”和“git 信息也位于那里,您可以在移动项目后重新打开项目,并且一切都完好无损。

此外,如果您在不同位置的不同机器上设置了 VS Code,则可能会连接到相同的服务器端点并具有相同的可用环境。
一个安装在工作的台式机上,另一个安装在笔记本电脑上以便在路上使用(或隔离时),两者都连接到同一个服务器端点。)

  • 注意:我没有亲自做过,可能需要进一步研究。

在工作流程方面,我最终所做的是,我在 VS Code 中完成了大部分开发工作,在机器人本身上远程执行。

有时,如果我想尝试快速而肮脏的修复,我会“打破第四面墙”并直接在 'bot 本身上打开一个编辑器,它会自动在 VS Code 中显示为“已修改”。


推荐阅读