比 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
加载中...
0票,平均分:0.00/10
2,319
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

万代洋一

我的主要工作是开发社交游戏的Web API,但幸运的是,我也有机会参与其他各种任务,包括市场营销。
我在Beyond中的图像版权采用CC0协议。

使用 Zabbix API 以最快的速度获取警报信息!内容分发交给我们,实现自动化!试试 J-Stream CDN。