【问题标题】:VS Code: How do I synchronize workspaces between multiple systems?VS Code:如何在多个系统之间同步工作区?
【发布时间】:2021-03-13 15:37:42
【问题描述】:

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

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

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

环境:

  • 运行 VS Code 的 Windows 10 系统,截至当前日期都是最新的。
  • 一个基于 Raspberry Pi 的机器人(GoPiGo3),它使用安装的 SSH 软件进行远程开发,允许我的 Windows 10 系统通过 VS Code 与其通信。
  • 我使用 FileZilla 制作了工作区环境的完整副本,包括封闭的工作区文件夹,从 Windows 10 系统到机器人。

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

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

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

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

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

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

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript python visual-studio-code raspberry-pi remote-debugging


    【解决方案1】:

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

    第 1 课:

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

    第 2 课:

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

    第三课:

    • 我没有意识到 VS Code 可以安装一个小型服务器模块(类似于某种 shim),并在远程设备上执行一些 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 中自动显示为“已修改”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-21
      • 2017-11-30
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多