比 Visual Studio Code 1.34 版本发布更令人兴奋的是:使用 VS Code 进行远程开发

大家好,
我是Mandai,Wild团队负责开发工作的成员。
通常,我会撰写文章,从 Visual Studio Code (VSCode) 的最新版本说明中挑选一些有趣的功能和亮点,但我对 VSCode 的远程开发功能更感兴趣,所以这次我想深入探讨一下。上次我误以为这次更新只是小幅改动,但事实并非如此。远程开发功能终于正式发布了。让我们来看看它是如何运作的,以及它包含哪些内容。
开发环境似乎正在发生变化。
在 Beyond 的开发环境中,我们不使用容器;开发工作主要在虚拟机中进行。不过,整个开发环境一直在变化。我
还没有进行详细的架构规划,但我认为我目前的环境设计旨在最大限度地提高 VS Code 的效率。
如果有什么能进一步加速这一进程,我们就别无选择,只能利用它!
这次,我想探讨一下远程开发中的“远程”指的是什么,因为从标题来看,这个定义比较模糊。
准备
截至本文撰写之时,虽然已有用于远程开发的扩展程序,但它们似乎仅适用于内部版本,因此我们将快速安装它们。
内部版本可以独立于现有环境进行设置,因此此处下载并安装它们
安装完成后,安装扩展程序。
我是在 Windows 环境下进行测试的,所以请根据实际情况阅读。
该扩展程序的名称是“远程开发”,请按照以下屏幕截图所示进行搜索并安装。
安装完扩展程序后,您会在侧边栏看到一个额外的图标。
请在此处输入您的连接信息。
如下面的屏幕截图所示,SSH 设置通常所在的位置很容易选择。
现在你已经拥有了所需的一切。
尝试连接
这次我打算连接另一台服务器,所以我会把 ssh_config 文件的路径添加到设置里。我
原本以为可以从头开始输入 SSH 信息,但看来 ssh_config 文件是必需的。
由于 Windows 环境下没有 ssh_config 文件,这部分有点麻烦。
这次,我将连接到本地环境中的虚拟机,所以我使用以下命令编写了 ssh_config 文件。
vagrant ssh > ssh_config
让我们指定一下创建的文件。
然后,您刚刚添加的连接目标将显示在侧边栏中。
看来您可以分别管理本地和远程扩展。
当我查看终端时,我看到一条消息说“请不要删除它,因为它是通过 SSH 隧道传输的”。
为了防止发生意外,最好这类操作能在后台进行,但由于这是试用版,我们就不必担心细节了。
我大部分时间都在截图,目前为止一切都很顺利!
太好了!
目前,打开终端会自动打开远程终端。以前
,您需要先使用 Ctrl + Shift + @ 打开本地终端,然后使用类似 `vagrant ssh` 的命令通过 SSH 连接,但现在这样打开终端就方便多了。
尝试打开项目
既然我已经确认 SSH 访问正常,接下来我想打开开发环境,这正是它的用途。
这台虚拟机已经安装了操作系统,所以我将跳过设置执行环境和传输文件的步骤,不过使用 git clone 或类似命令传输文件应该没问题。
当您选择“从文件打开文件夹”时,/home/vagrant 路径已自动输入。
这意味着如果您已建立 SSH 连接,则您选择的文件夹将位于远程环境中。
就在这时,我开始意识到这有多么神奇,我起了鸡皮疙瘩。
这是一种慢慢涌上心头的感觉:“哇,这真是太方便了!”
然后,输入项目根路径并点击“确定”后,窗口重新加载,已实现的文件像往常一样显示在资源管理器中。
你正在使用的 Git 分支也会显示出来,一切看起来都和之前一样。
我当时非常震惊,甚至开始怀疑这样继续工作是否合适。
扩展程序应该安装在哪里?
由于我有两个独立的环境,本地和远程,我一直在想应该把扩展程序之类的东西安装在哪里。我一直拿不定主意,所以决定安装PHP Intelephense ,这对 PHP 开发来说至关重要。
安装过程顺利完成,没有出现任何询问要安装到哪个文件夹的对话框。
该扩展程序似乎已安装在远程环境中,其状态为“需要重新加载”。
远程端似乎不支持热重载。
我认为热重载是如今必不可少的功能,所以我认为它很快就会被实现。
打开代码后,我发现电话索引过程运行流畅,所以它工作正常,没有任何问题。
我原以为一些功能(例如颜色主题)可以完全在本地运行,但实际上每次都需要重新加载窗口,所以看来还有改进的空间。
因此,结论似乎是,您无需逐个担心扩展程序的问题。
远程操作环境
最后,我想总结一下远程端的运行环境。
首先,远程服务器必须是 Linux 系统,
而且必须是 64 位操作系统。
我本人没有尝试过,但 VS Code 博客上有一张 Ubuntu 运行的图片,所以看来没有发行版限制。
我的虚拟机是 CentOS 7,因此我认为这两个操作系统应该可以兼容。
接下来,远程服务器需要安装 bash、tar 和(curl 或 wget)。
我不确定是否需要安装 curl 或 wget,但
它们都是常用软件,所以即使需要安装,应该也不会有问题。
以上两点是 SSH 和容器都存在的限制。
尤其是在容器中运行时,必须将必要的软件安装信息写入 Dockerfile,因此如果您使用的是现有的 Dockerfile,则需要进行相应的修改。
还有许多其他限制。
- 无法拖放到资源管理器区域
- PuTTY 不受支持
- 安装扩展程序需要重新加载(这与之前的操作相同)。
- 如果您通过 SSH 使用 git,并且 SSH 隧道或 git 使用的是非密码 SSH 密钥,则 git 操作将通过 HTTPS 传输。
截至发稿时,已登记的问题有 74 个,虽然看起来很难解决,但我希望这些问题都能得到解决。
概括
这次,它实际上是一篇关于使用 VSCode 进行远程开发的入门文章,伪装成一篇 VSCode 版本概述文章。
- 连接很简单(只是配置 SSH 比较麻烦)。
- 它比我预想的运行更流畅。
- 它似乎也适用于本地虚拟机开发。
- 目前还能用。但如果继续用下去,肯定会出问题。
似乎无法手动断开远程连接,所以解决方法是在想要断开连接时关闭窗口,这给人一种测试版的感觉,令人兴奋。
虽然现在可能存在很多问题,比较困难,但我个人强烈预感这会成为标准,所以我推荐大家试试。
即使会遇到一些问题,为什么不都试用一下呢?
就这样。
0








