javascript - VS Code:如何在多个系统之间同步工作区?
问题描述
更新:
事实证明,我真正想要的是能够在我的笔记本电脑上进行远程开发,并且 - 如果我也在我的机器人上做了一些本地的事情,那么我的主要开发系统上就会出现更改。
参考:
这个大体相似的问题是在大约 10 个月前被问到的,从那时起就没有收到任何回复。由于从那时起 VS Code 有了很多改进,(而且由于 Stack Overflow 不鼓励“我也是!”的回复),我决定重新提出这个问题,希望有人会注意到它并回复。
环境:
- 运行 VS Code 的 Windows 10 系统,截至当前日期都是最新的。
- 一个基于 Raspberry Pi 的机器人(GoPiGo3),它使用安装的 SSH 软件进行远程开发,允许我的 Windows 10 系统通过 VS Code 与其通信。
- 我使用 FileZilla 制作了工作区环境的完整副本,包括从 Windows 10 系统到机器人的封闭工作区文件夹。
我之前的工作流程是在 Windows 机器上开发,转移到机器人上,使用 Thonny 在 'bot 上运行,记录任何错误并就地修复它们(在 Thonny 内),然后转移回 Win-10 机器或在 Windows 10 中修复并传输回“bot”。
“笨拙”是轻描淡写的杰作。
现在我已经在机器人上设置了远程开发,我相信我可以避开大部分。
我注意到,在机器人的工作空间副本中,大多数(如果不是全部)文件现在要么“修改”,要么“未跟踪”,并且从“机器人”更新我的 GitHub 存储库会导致各种混乱。
我想要的是在任一平台上无缝开发的能力。(即 ,在下一次连接时,在一个上所做的更改会自动反映在另一个上。)我希望以这样一种方式做到这一点,即提交和/或更改状态准确地反映在两台机器上。
我可以详细解释为什么这对我有用,但是这个问题已经足够长了。
任何帮助将不胜感激。
解决方案
好的,我想我已经弄清楚了。
第 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。
确保本地计算机上的工作区在 GitHub(我的项目存储库所在的位置)上完全是最新的。
安装必要的 VS Code 远程开发模块并确保您可以与远程系统通信。具体如何执行此操作取决于您的环境。
使用 VS Code 中的远程开发工具将相关的 GitHub 存储库“同步”或“克隆”到设备,就好像它是您的本地机器一样。
请注意,这是非常系统和站点特定的。VS Code 可以很好地帮助您完成此过程,并且网络搜索将迅速清除任何挥之不去的问题或问题。
最终,您将在远程平台上拥有一个完全最新的版本。
完成此操作后,您将不必手动同步代码,因为代码已经在 'bot. 您所做的就是在本地机器上编辑代码(例如我的 Windows 笔记本电脑),然后从 VS Code 运行它。
另一个优点是,如果您必须复制或克隆机器人的工作区,或从备份中恢复工作区(您确实将项目放在单独的文件夹中,不是吗?),所有“vscode”和“git ”信息也位于那里,您可以在移动项目后重新打开项目,并且一切都完好无损。
此外,如果您在不同位置的不同机器上设置了 VS Code,则可能会连接到相同的服务器端点并具有相同的可用环境。
(即一个安装在工作的台式机上,另一个安装在笔记本电脑上以便在路上使用(或隔离时),两者都连接到同一个服务器端点。)
- 注意:我没有亲自做过,可能需要进一步研究。
在工作流程方面,我最终所做的是,我在 VS Code 中完成了大部分开发工作,在机器人本身上远程执行。
有时,如果我想尝试快速而肮脏的修复,我会“打破第四面墙”并直接在 'bot 本身上打开一个编辑器,它会自动在 VS Code 中显示为“已修改”。
推荐阅读
- ios - 如何使用 VScode 修复 Flutter IOS 运行问题?
- ms-access - 为列表中的每个项目创建多个记录 - ACCESS
- python - 如何修改 pyinstaller 规范文件以确保数据(在这种情况下为图像)正确包含在我的最终应用程序包中?
- javascript - HTML/CSS/JavaScript/PHP - 使图像文件尽可能小
- reactjs - reactjs没有解析“从'@react-page/editor'导入类型{Value};”中的“type”关键字
- scala - Scala anorm 使用 set role 命令运行对 postgreSQL 的查询
- amazon-web-services - 如何处理 AWS 上的存储桶限制
- java - 嵌套异常是 org.springframework.dao.InvalidDataAccessResourceUsageException:无法执行查询
- java - 平板电脑上弹出窗口的显示是假的
- token - Corda - 我可以抵押一个可替代的令牌吗?我是不是该?