手把手教你配置VS Code 远程开发工具,工作效率提升N倍

来源 | 后端技术学堂

责编 | Carol

封图 | CSDN 付费下载于视觉中国

今天和大家分享一个远程开发解决方案,聊一聊我平常是如何用 VS Code 进行远程开发工作的,以及一步步教你搭建远程开发环境,拥有比德芙还丝滑的远程开发体验。

我们厂里为了最大程度提高工程师生产力,各种研发配套工具非常的齐全,对开发人员每人都有一台云主机,而且是个人主机哦,申请就有的那种。有了云开发主机在家里或者在公司都可以随便折腾,加班也更方便了(好像哪里有点不对)。

传统的远程开发

大家都知道我是从事后台服务器开发工作的,主力语言是C/C++。我们的服务端程序一般都是跑在 Linux 服务器上面,传统的开发流程是在 window 或 Mac 的 IDE 环境编写代码,然后用 ftp 或 sync 同步代码到开发机上编译,程序或服务最终发布到测试或生产环境运行。

就我来说,以前是这么干的:在本地 Windows 和 Linux 云开发机之间开启一个同步程序,本地编辑代码,实时后台同步到 Linux 云开发机,然后用 xshell 登录开发机编译、调试,这个过程有点不够优雅,现在有更香的解决方案。

更香的远程开发

1、介绍下VS Code

这是一款开源编辑器,却不止是编辑器。

Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows 、 Linux和macOS等操作系统且开放源代码的代码编辑器,它支持测试,并内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于 IntelliSense)、代码片段和代码重构等。该编辑器支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数,同时还在编辑器中内置了扩展程序管理的功能 - 引用维基百科

我最喜欢的是它的插件能力,几乎想要啥功能都能找到插件支持,应该不用我安利你们都会喜欢的。

在 2019 年的 Stack Overflow 组织的开发者调研中,VS Code被认为是最受开发者欢迎的开发环境,据调查87317名受访者中有 50.7% 的受访者声称正在使用VS Code。

开发环境排名 - 图片来源网络

说了这么多,反正要表达的就是VS Code很厉害就是了。

重点来了,今天的主角功能是下面这个远程开发扩展插件。

微软在 PyCon 2019 大会上发布了VS Code Remote ,从 1.35.0 版本正式提供可以在本地编辑远程开发环境的文件的功能,所以首先确保你的VS Code版本是在这个之上的才能体验到。

VS Code远程开发的工作原理,大致是这样的:

VS Code 远程开发原理

下面讲讲如何配置,我的Local OS是 Win10 ,  Remote OS 是 Linux云主机。

2、远程开发配置

配置SSH环境变量

远程开发本地 VS Code 用 SSH 协议与远程服务端通信,所以要先配置SSH环境变量,由于Git自带SSH客户端程序

SSH程序

如果你还没装Git的话,这里要先安装 Git,所以配置 Git 的 bin目录到环境变量的 PATH 变量下,这样VS Code连接的时候就能找到它了。

环境变量

安装远程开发插件

要能连上远程主机,首先我们需要下载VS Code远程开发插件,VS Code其实是提供了一个远程开发插件包,包括:

远程开发插件
  • Remote - SSH - 通过使用 SSH 链接虚拟或者实体Linux主机。

  • Remote - Containers – 连接 Docker 开发容器。

  • Remote - WSL - 连接 Windows Subsystem for Linux (Linux子系统)。

打开软件的扩展界面,搜索 Remote 开头的插件,也能看到这三个的不同远程开发插件,我们这里连接的是云主机,选择安装 Remote - SSH 插件安装即可。

配置远程连接

  1. 首先点侧边栏的「远程资源管理器」之后点击「设置按钮」,进入远程机器配置界面。

机器配置
  1. 修改 ssh 配置文件,用于登录远程机器,各项含义在图中有说明。

SSH配置文件
  1. 点击连接,登录远程服务器,需要输入几次远程服务器的密码(后面会教你怎么免密登录),输入确认即可。第一次连接会做VS Code Server的初始化工作比较慢,耐心等待。

登录远程服务
  1. 登录成功,即可像操作本地环境一样,在VS Code客户端操作远程云主机上的文件。注意,下图中的「打开文件夹」已经是远端机器上的目录结构了。

打开远程目录
  1. 给远程VS Code 安装插件。安装的插件是在云服务器的VS Code上,对本机的VS Code没有影响,插件在远端提供功能,比如代码审查、自动补齐等等,而这所有的一切就像在本地操作一样,对文件的更改也是直接操作的云主机上的文件,丝滑连接。

本地插件和远程插件
  1. 代码编辑与远程终端调试。打开文件编辑的是云服务器的文件,同时可以打开云服务终端,直接在终端操作编译或者查看云服务器信息。

远程编辑和调试

3、配置SSH免密登录

按照上面的配置步骤,每次连接到远程服务器,都需要输入服务器登录密码很麻烦,可以配置SSH免密登录,免去每次输入密码的烦恼,具体操作步骤如下:

  • 打开win cmd终端,输入 ssh-keygen -t rsa 生成秘钥对

秘钥列表
  • 打开生成的秘钥保存路径,拷贝 id_rsa.pub 内容,添加到到云服务器的 ~/.ssh/authorized_keys 文件后面。

  • 尝试再次连接,不用输密码了,enjoy!

写在最后

这套远程开发环境体验下来,我整体是比较满意的,最大的好处是不用给电脑装太多软件,选择VS Code是因为需要经常在C++/Python/Go三种IDE之间切换比较麻烦,现在即使是电脑配置低点都没关系,因为所有的编辑器插件扩展和代码都在云端,通过 SSH 连接操作一个VS Code打遍所有。

而且由于远程开发插件的存在,不论我在哪里,只要有电脑都能方便的打开云端开发环境,非常的方便,这么好用的工具大幅提升生产力,所以今天来分享给大家。

 

推荐阅读

  • 用大白话彻底搞懂 HBase RowKey 详细设计

  • 后端程序员必备:书写高质量SQL的30条建议

  • 蚂蚁金服高要求的领域建模能力,对研发来说到底指什么?

  • 再见 Python,Hello Julia!

  • CycleGan人脸转为漫画脸,牛掰的知识又增加了| 附代码

  • 百万人学AI 万人在线大会, 15+场直播抢先看!

  • 为什么黑客无法攻击公开的区块链?

真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蚂蚁金服隗华:十五年时间见证分布式数据库的崛起

北大计算所启蒙 “做中国人自己的技术” 如果用一句话来评价读书时的隗华(花名:风羿),那一定是“德智体美劳全面发展的好学生”。本科在北航读的计算机专业,硕士则就读于北大的计算机研究所。 北大,中国高…

java的整数扩展,浮点数扩展,字符扩展,转义字符,布尔值扩展

java的整数扩展,浮点数扩展,字符扩展,转义字符,布尔值扩展 public static void main(String[] args) {//整数扩展 进制 二进制0b 十进制 八进制0 十六进制0xint i10;int i2010;//八进制int i30x10;//十六进制0x …

用户数从 0 到亿,我的 K8s 踩坑血泪史

导读:容器服务 Kubernetes 是目前炙手可热的云原生基础设施,作者过去一年上线了一个用户数极速增长的应用:该应用一个月内日活用户从零至四千万,用户数从零到一亿的裂变式增长,充分享受了容器服务快速简便的扩容操作和…

行,Python玩大了!​取代Excel,程序员:太牛!你怎么看?

Python真的玩大了吗?2020年,Python程序员究竟怎么样?A与B程序员与远方近日日本最大的证券公司之一野村证券首席数字官马修汉普森,在Quant Conference上发表讲话:“用Excel的人越来越少,大家都在用Python。”…

ETL异构数据源Datax_限速设置_06

文章目录一、提升job内Channel并发有几种配置方式二、配置简述三、案例3.1. 第一种3.2. 第二种3.3. 第三种3.4. 第四种3.5. 案例实战3.6. 总结前言: 在DataX内部对每个Channel会有严格的速度控制,分两种,一种 是控制每秒同步的记录数&#xf…

云原生计算重塑企业IT架构 - 分布式应用架构

进入21世纪以来,我们见证了企业分布式应用架构从SOA(Service-oriented Architecture),到微服务架构,再到云原生应用架构的演化。 为了说明企业架构演化背后的思考,我们先谈一些玄学。 第一,企业IT系统的复杂性&#…

首发!《长安十二时辰背后的技术秘籍》正式公开,速来下载

一名死囚如何在十二时辰内利用“唐代黑科技”,拯救长安百姓于水火中? 这就是《长安十二时辰》的故事,剧中有恢弘的长安美景、让人流口水的水晶柿子/水盆羊肉,还有张小敬和檀棋“在一起”呼声……然而,最让人刮目相看的…

【快讯】呼伦贝尔市人民医院利用Oracle APEX快速开发预检分诊系统

疫情期间,实施入口管控、患者分流、防止院内交叉传染是医院防控工作的重中之重。 内蒙古呼伦贝尔市人民医院信息科主任张布林借助Oracle APEX敏捷开发工具,仅用三天时间,为医院开发并上线了“预检分诊系统”,实现患者信息采集和预…

类型转换。

类型转换 由于Java是强类型语言,所以进行有些运算,就要类型转换 低-----------------------------------------------------高 byte,short,char一>long一>float一>double 运算中,不同类型的数据需要转换为同一类型,然…

ETL异构数据源Datax_MySQL同步Oracle(全量)_07

文章目录1. 清除Oracle数据库中OTBS1表的数据2. 构建json3. 执行脚本4. 同步验证5. 同步分析7. 同步结果1. 清除Oracle数据库中OTBS1表的数据 Truncate TABLE OTBS1;2. 构建json {"core": {"transport": {"channel": {"speed": {&qu…

左手代码右手滑板 支付宝这个程序员有些酷

走在杭州支付宝z空间的园区,常常可以看到一个脚踩滑板,脑后扎个发髻的男青年。 他叫边柳。来蚂蚁金服三年,除了是一名前端码农,也是一位斜杠青年。捧着程序员的“饭碗”,兼顾着滑板和摇滚的爱好,可以说他过…

2019阿里云910会员节大促主会场全攻略

2019阿里云910会员大促活动已经于8月28日正式开启,从已开放的活动页面来看,整场大促活动由阿里云10年有礼时光机、爆款产品推荐、七大分会场组成。 在910这个秋季大幅度优惠促销日,怎样才能花最少的钱配置最特惠的云服务?云栖社区…

变量 常量 作用域和命名规范

变量 常量 作用域和命名规范 变量: 变量:可以变化的量 java是一种强类型的语言,每个变量必须声明其类型。 Java变量是程序中最基本的储存单位,其要素包括变量名。变量类型和作业域 注意事项 每个变量都有类型,类型…

浪潮商用机器与腾讯TDSQL完成互认证 共同拓展Power行业生态

日前,浪潮商用机器有限公司宣布,旗下K1 Power服务器系列产品经过几十项基础功能和高可用功能用例的专业测试,与腾讯新兴国产分布式数据库TDSQL完美兼容,且性能优异,可进行顺利的部署、平稳的运行及对外提供服务。此次互…

历时五天用 SwiftUI 做了一款 APP,阿里工程师如何做的?

作者|姜沂(倾寒) 出品|阿里巴巴新零售淘系技术部 导读:自 2014 年苹果发布会发布 Swift 之后, Swift 经过多年迭代,终于达到了 ABI 稳定版本,也意味着 Swift 做为稳定的得语言,值得用在大型 APP, 用来生产环境中。 2…

Istio从懵圈到熟练 – 二分之一活的微服务

Istio is the future!基本上,我相信对云原生技术趋势有些微判断的同学,都会有这个觉悟。其背后的逻辑其实是比较简单的:当容器集群,特别是K8S成为事实上的标准之后,应用必然会不断的复杂化,服务…

数据结构与算法、讲解、动态规划一脸懵?看完之后轻松掌握!

来源 | 昊天码字责编 | Carol封图 | CSDN 付费下载于视觉中国碰到动态规划问题摸不着头脑?总结不出动态规划的类型?有多少人曾经历过这种迷茫与无助?看完本文,让你一脚迈进动态规划的大门。我们在用递归求解问题的过程中&#xff…

应用优雅上下线

1. 概述 kubernetes滚动升级的过程: 集群Deployment 或者 Statefulset 发生变化,触发部署滚动升级; 根据 Deolyement 等配置,K8S集群首先启动新的POD来替代老 POD; Deployemnt 根据配置调度 POD,拉取镜像,…

算术运算符

运算符 算术运算符&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;–赋值运算符&#xff1a;关系运算符&#xff1a;>,<,>,<,,!,instanceof逻辑运算符&#xff1a;&&,||,!位运算符&#xff1a;&&#xff…

搜索场景下的智能推荐演变之路

摘要&#xff1a;传统的推荐手段主要还是深度挖掘用户行为和内容本身相似性的价值&#xff0c;包括但不限于协同过滤&#xff0c;内容表征向量召回&#xff0c;以及各式各样的点击率预估模型&#xff0c;然后这样的推荐行为缺乏内在的逻辑性和可解释性&#xff0c;有一种知其然…