微软的VS code能够适应不同开发环境,提供对多种语言的支持,使得使用VS code开发变得很流行了。因为各种原因(比如在本地设置开发环境困难,或者繁琐,或者开发环境没有图形界面),我们可能需要远程开发。当然我们可以ssh远程登陆到开发环境,用vim编辑并开发,但这样肯定放弃了集成开发环境的各种优势。幸好VS code提供了三个新扩展,来帮助我们进行远程开发。它们支持在容器中、远程物理或虚拟机上以及在Windows中的Linux子系统(WSL)上进行无缝开发。

但是现在使用这些远程扩展需要使用VS code insiders版本,以后可能会在最终版本提供支持。

远程开发扩展包包含了三个扩展:

  • Remote-SSH:通过SSH远程连接到物理或者虚拟机
  • Remote-Containers:连接Docker容器进行开发
  • Remote-WSL:使用Windows 中的Linux子系统(WSL)作为完整的开发环境

简单介绍一下如何使用Remote-SSH。这个扩展是我们可以打开任何安装有SSH服务的远端机器,虚拟机,或者容器上的目录,并且可以使用VS code所有特性,也可以处理远端机器的任意文件和目录。

  1. 本地机器当然要有SSH客户端。
  2. 安装VS code insiders版本。
  3. 安装Remote-SSH扩展

Remote-SSH扩展需要密钥认证方式。以本地是windows环境,远程开发环境是linux为例。本地的公钥一般存储在%USERPROFILE%\.ssh\id_rsa.pub。如果公钥不存在,通过以下命令生成密钥对:

ssh-keygen -t rsa -b 4096

然后用以下命令把本地公钥加入到远端认证key的文件

ssh-copy-id username_on_host@host_ip

OK,准备工作就完成了!

在界面左边栏下面选择Command Palette或者按F1键打开Command Palette,运行Remote-SSH: Connect to Host...输入username@hostname,回车。如果连接成功,会打开一个新的VS code窗口,左下角状态栏会显示SSH连接状态。如果打开一个terminal,会显示远程机器的terminal。可以使用所有的VS code的功能完成开发调试工作。

遗憾的是,Remote-SSH扩展只支持x86_64架构的基于linux的OS。如果是其他的架构的系统,会弹出一个失败的信息。

这种情况下,注定是无法使用VS code的全部功能的。不过可以使用Remote Workspace扩展,把VS code当做一个远程的文本编辑器来使用,就好像在本地编辑一样。使用这个扩展,需要建立一个.code-workspace文件,把远程工程路径写入uri键值对,支持常见的FTP,FTPs,SFTP协议。通过菜单File >> Open Workspace...打开建立的.code-workspace文件即可。

使用Visual Studio Code进行远程开发的更多相关文章

  1. 使用 Visual Studio Code 进行远程开发

    使用 Visual Studio Code 进行远程开发 在完成了 AT 指令入门的学习之后,接下来就要使用 AT 指令进行 Socket 通信了.问题在于,之前 .NET 的 Socket 编程只需 ...

  2. 使用Visual Studio Code搭建TypeScript开发环境

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  3. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...

  4. Visual Studio Code和Docker开发asp.net core和mysql应用

    Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...

  5. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  6. Visual Studio Code配置 HTML 开发环境

    Visual Studio Code配置 HTML 开发环境 https://v.qq.com/x/page/l0532svf47c.html?spm=a2h0k.11417342.searchres ...

  7. Visual Studio Code配置GoLang开发环境

    Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...

  8. Visual Studio Code 做PHP开发

    Visual Studio Code 做PHP开发 1. 在Windows 10环境下安装PHP: 1. 下载自己中意的PHP版本:http://windows.php.net/download (我 ...

  9. 教你用Visual Studio Code做PHP开发 - 微软官方工具,IDE中的黑马

    转载于:http://bbs.wfun.com/thread-902655-1-1.html,仅供自己备忘 本文为我在智机网的原创  ] 关于Visual Studio Code,可能有的开发者很陌生 ...

随机推荐

  1. springboot+mybatis sql 打印在控制台

    第一种方法 在mybatis文件夹下新建mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ? ...

  2. React-Native——html/css

    做前端开发,熟悉了HTML+CSS+JS的开发模式,如果不看RN原理,直接用老一套的逻辑思维上手RN,可能会大跌眼镜.高效开发的前提,需要学习并理解RN的原理.本文主要记录内容是,关于RN开发的HTM ...

  3. numpy的基本API(二)——维数操作

    numpy的基本维数操作API iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.np.copyto(dst, src) copyto方法将数组src复制到 ...

  4. 【Git】405- 分享:大牛总结的 Git 使用技巧

    作者:你喜欢吃青椒么 来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作 ...

  5. 【Selenium】自动进入网页,出现弹窗被卡住

    问题现象: 使用命令:driver.get("http://127.0.0.1/zentao/user-login.html") 进入网页,出现如下弹窗,无法进入 解决方法: #d ...

  6. 大数据学习笔记——Spark工作机制以及API详解

    Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...

  7. CSS去除input和textarea点击选中框

    1.去除chrome等浏览器默认发光边框 input:focus, textarea:focus { outline: none; } 这样textarea在选中的时候,文字会有点移动,解决方法: i ...

  8. 《Java基础知识》Java线程的概念

    按照规划,从本篇开始我们开启『并发』系列内容的总结,从本篇的线程开始,到线程池,到几种并发集合源码的分析,我们一点点来,希望你也有耐心,因为并发这块知识是你职业生涯始终绕不过的坎,任何一个项目都或多或 ...

  9. 安装react-native-cli工具(三)

    设置淘宝镜像 (这一步可以省略) npm config set registry https://registry.npm.taobao.org --global npm config set dis ...

  10. 程序员offer沟通的4个基本原则

     常柱 架构未来  你需要就一份新工作进行沟通时:比如你的薪水.福利,或者我个人最喜欢的每周工作时间缩短等,当公司问你“你想要多少?”或者“这是我们的报价,你说呢?” 最后关于薪资的谈话可能是最伤脑筋 ...