Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我最终还是选择了 VS code...

我最终还是选择了 VS code...

作者头像
GitHubDaily
发布于 2020-03-04 08:30:49
发布于 2020-03-04 08:30:49
1.6K00
代码可运行
举报
文章被收录于专栏:GitHubDailyGitHubDaily
运行总次数:0
代码可运行

以下文章来源于平凡而诗意,作者Jackpop

我一直认为 vs code 是一款名不副实的开发工具,直到它的远程开发功能吸引我开始慢慢尝试着使用它、适应它,才慢慢发现它的优秀及强大之处。强大的远程开发、丰富的插件轻量化的编辑器...... 每一点都让我觉得它恰到好处。本文,我就来详细介绍一下 vs code 的远程开发并推荐 5 款我个人认为不错的插件。

—▼—

前言

兜兜转转,在开发工具方面我还是选择了 VS Code,原因非常简单 -- 远程开发

工作之后,开发平台慢慢就开始以 Linux 为主。之所以选择 Linux,首先,是因为它在编译、操作等方面更加便捷省心。其次,是因为和后期测试、部署环境更加统一。

但是,这就遇到了一个矛盾,日常办公主要以 windows 为主,而开发只能在无桌面的服务器端进行,这样随之而来的就是开发效率和便捷性的降低。虽然一些小的项目可以使用 vim 完成,但是在大一些的工程,就会觉得处处都显得非常不顺手。而且,对于记忆 vim 繁多的快捷键一直非常排斥,可能还是习惯的问题。

因此,在我的远程开发之路上,就开始了长时间的变迁之路。

我的远程开发之路

Pycharm+vim+Putty

这是我最先采用的方式,主要的编码工作是在 windows 下用 Pycharm 完成,然后用 SVN、SFTP 同步到远程服务器,然后使用 Putty 结合 vim 做一些小规模的开发,然后进行调试,打包、测试。虽然现在看起来会非常繁琐,但是在当时眼界被局限的时候,认为这就是本应该有的远程开发形式,所以,延续的很久。

MobaXterm

后来,我遇到了 MobaXterm,使用几个月之后我很惊叹,为什么有这么强大的工具?

Mobaxterm 相对于 Putty 是一款功能非常丰富的增强型终端模拟工具,更重要的是它集成了 xming,能够自动把远程服务器下的窗口投影到本地,这样的话我们就可以轻松打开带有 UI 的客户端。

因此,这时候我开始在远程服务器上配置 Pycharm 和 Python 开发环境,然后使用 MobaXterm 打开 Pycharm 客户端进行开发。

就这样又延续了几个月,我认为,也许这就是远程开发最完美的解决方案。

xshell+xming

再后来,我尝试了一下 xshell,然后就再也回不去了。经过对比之后逐渐凸显出 MobaXterm 的缺点,也让 xshell 的优点显得更加突出,

  • 丰富而简单的主题配置
  • 强大的快捷键
  • 反应迅速灵敏
  • 支持丰富的定制化功能

但是,随之而来也遇到了一个问题。一直喜欢的有界面的 Pycharm 不能用了,xshell 自家的 Xmanger 收费。只能自己安装 xming,设置转发隧道,用 xming 显示 Pycharm 客户端。

这时候,我觉得也许我可以在探索远程开发的道路上停下脚步了,但是,这时候我却遇到了 vs code。

VS Code 远程开发

最近两年 vs code 在开发工具领域表现得非常抢眼,让很多原本热衷于 eclipse、IntelliJ、Atom 的同学纷纷转向了 vs code,并且对其赞不绝口。一直以来,我认为 vs code 名不副实,它只不过是一个并没有什么特色之处,依靠插件而使其丰富起来的编辑器而已。因此,虽然我会安装 vs code,但是使用频率缺少的可怜。

直到今年 5 月份微软在 PyCon 2019 大会上发布了 VS Code Remote 之后,我才发现它对我太具有诱惑力了。

我不愿意为了一点优势而舍弃 Pycharm 强大的自动补全和代码调试功能,但是,我愿意为了便捷的远程开发去学着改掉自己的使用习惯,去适应一款新的开发工具。当然,前提是这款工具真的能够惊艳到我的情况下,这一点 vs code 做到了,它在远程开发方面的确让我惊艳了一把。

为什么选择 vs code?

远程开发对于开发工具并不算是一个新鲜的事情,其中在我们熟知的 InteliJ 家族的开发工具里就已经实现了远程开发功能。但是,为什么只有 vs code 吸引到我了?

对比一下 IntelliJ 和 vs code 的远程开发就一目了然。

  1. IntelliJ 远程开发只有专业版才有,而社区版没有这项功能。而 vs code 免费即可使用远程开发功能。
  2. IntelliJ 的远程开发时通过 FTP、SFTP (File Transfer Protocol,文件传输协议) 实现,它们的远程开发的原理是通过文件传输协议连接到远程服务器,通过上传和下载的方式进行远程远程项目和本地项目的同步,这样的缺点是:不能实时同步、操作繁琐。而 vs code 是通过 SSH (Secure Shell) 的方式连接到远程服务器,换句话说,vs code 在远程开发过程中扮演的角色更像是一款终端模拟工具,它不需要繁琐的上传和下载步骤,而且实时性更好,只需要在 windows 上保存一下,会瞬间同步到远程开发机。

不得不佩服微软在软件方面的实力,一旦他们去专注做一件产品,真的会做到令人惊艳的地步。所以,经过多项的对比,我还是选择了 vs code 作为远程开发工具。这样,真的彻底解放了对终端模拟工具的依赖。

远程开发配置

下面开始详细讲一下 vscode 远程开发的配置。

第一步:安装插件

配置远程开发首先需要安装一个名为 Remote Development 的插件,具体操作步骤如下,

  • 点击扩展按钮
  • 搜索 Remote Development
  • 安装

安装之后会侧边活动栏看到一个远程资源管理器按钮。

第二步:配置远程服务器

安装插件之后,点击远程资源管理器,在 SSH TARGETS 配置远程服务器,具体步骤如下,

  • 点击齿轮图标
  • 打开弹出的 config 文件
  • 分别配置 Host、Hostname、User

这里需要注意一个,Host 是一个名称,自己可以随意命名。Hostname 是远程服务器的 IP,User 是用于登录远程服务器的账户名称。

第三步:打开远程连接窗口

把鼠标放在上一步配置的远程连接条目上,点击 Connect to Host in New Window,然后就会在新的窗口打开我们想要的远程连接。

配置免密登录

由于 vs code 是通过 SSH 远程连接到远程服务器的方式进行远程开发,因此,每次打开远程连接是都会提示输入密码,显然这是非常繁琐的。不过,还好有不错的解决方案,我们可以通过配置免密登录的方式避免每次打开连接时都需要重复输入密码。

第一步:生成 windows 公钥

这个需要 windows 配置有 ssh 工具,可以通过安装 git、openssh 实现。

打开 cmd,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ssh-keygen

然后一直点击 Enter 键,不用输入任何内容,最后会在C:\Users\user_name\.ssh路径下生成公钥文件,可以看到有一个id_rsa.pub文件,然后通过 FTP 等方式把这个文件上传到远程服务器。

第二步:配置远程服务器

进入 SSH 配置目录,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ cd ~/.ssh
$ ls

查看一下是否有一个名为authorized_keys的文件,如果没有就创建一个,然后把刚上传的id_rsa.pub中的内容附到authorized_keys文件中,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ touch authorized_keys
$ cat ~/id_rsa.pub >> authorized_keys

第三步:修改文件权限

这一步非常重要,如果没有这一步,前面的操作都没有用。就是给authorized_keys修改为 600 的权限,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ chmod -R 600 authorized_keys

这样就完成了免密登录的配置。

辅助插件

一款工具,单凭它自带的工具,是很难满足不同人群的需求的,因此,插件就成了一个不可或缺的部分。通过适当的插件配置能够让一款看似平淡无奇的工具瞬间变的丰富强大起来。我认为 vs code 的优势之一就是它丰富的插件及便捷的配置方式,在这里,我推荐 5 款个人认为不错的 vs code 插件。

TabNine

当然首推还是这一款基于 GPT-2 语言模型的自动补全工具,我在前面一篇文章中花了一篇文章对这款插件进行了介绍。在这里,我再次强烈推荐 TabNine 这款插件,哪怕你使用的不是 vs code 也可以尝试一下这款插件。

TabNine 和我认识中的自动补全工具有很大的不同,传统的补全工具更多的是根据上下文信息和第三方库进行补全,换句话说就是基于既有的内容进行补全。而 TabNine 更多的是偏向推理,它能够根据开发者前面输入的内容快速推理接下来要输入的代码,甚至参数、字符串、符号它都能够准确的推理并补全。

Bookmarks

我们在开发过程中会经常进行跳转或者翻页,当经过一系列的跳转之后想回到最初的位置却发现无从下手了。在使用 Pycharm 时,可以通过快捷键给代码添加上标签,当我们想回到某一个位置时能够使用快捷键或者搜索的方式快速定位到准确的位置,这也是 Pycharm 吸引我的地方之一,它也养成了我喜欢打标签的习惯。

刚从 Pycharm 迁移到 vs code 在标签这一块会很不习惯,发现总是忘记之前所在代码片段。最后发现,vs code 也可以通过配置插件实现强大的标签功能,这款插件就是 Bookmarks。我们能够使用 Ctrl+Alt+KCtrl+Alt+JCtrl+Alt+L 快捷键添加标签,并且可以快速调整到指定标签位置。

GitLens

多人开始过程中,版本管理工具是必不可少的,其中使用较多的就是 Git。它在日常开发中占据着非常重要的地位,因此版本管理在大多数开发工具中都是必备的功能之一。我之前一直使用 Pycharm,我认为它在版本管理方面已经做的很好了,但是,经过一段时间试用 GitLens 之后才发现,Pycharm 在 Git 版本管理方面对比于 GitLens 真的是相差甚远。

它能够清晰的显示当前文件 的修改时间、修改历史,能够可视化分支、作者、commit 等信息,提供便捷而强大的对比功能。

TODO Highlight

我们在开发过程中,有时会为了测试或某种原因,某段代码需要之后进行修改和完善。如果就不做一些标记,时间久了、需要修改的多了,就很难区分出哪些是需要修改的、哪些是不需要修改的。因此养成做标记的好习惯对提升开发效率具有很大的帮助。

在开发过程中常用的待办标记有 TODOFIXME,在 Pycharm 中当我们使用这两个标记时它能够自动对其进行高亮显示,这样对于我们找到标记处非常方便。vs code 可以通过安装 TODO Highlight 插件来实现,这样能够突出显示我们还有哪些内容有待完善,能够避免我们检查代码过程中遇到的麻烦。

Code Runner

这是一款支持 C、C++、Java、Python 等主流编程语言快速运行的插件,它能够便捷的运行当前活动页代码文件、能够运行选定代码段、运行自定义命令,对于调试代码具有很大的帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GitHubDaily 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2025 年实用、全面的 VS Code 插件推荐!
VS Code是一款由微软开源免费、轻量级、功能强大的源代码编辑器。其轻量级体现在基础安装简洁,仅含核心编辑功能。功能强大则源于它支持丰富的语言环境插件拓展,这种模块化设计让VS Code在源代码开发工具中独占鳌头,它能够轻松应对多种语言开发。俗话说的好工欲善其事必先利其器,选用合适的插件能显著提升开发效率。以下是大姚精选的一些实用VS Code插件拓展,希望能对你有所帮助,大家有更好的插件推荐可在文末留言🤞。
追逐时光者
2025/06/08
8920
2025 年实用、全面的 VS Code 插件推荐!
Termius 一款优秀的跨平台 SSH 客户端工具
🔥🔥🔥 作为程序员或者运维管理人员,我们经常需要使用终端工具来进行服务器管理及各种操作,比如部署项目、调试代码、查看/优化服务、管理服务器等。
Python兴趣圈
2023/11/21
2.5K0
Termius 一款优秀的跨平台 SSH 客户端工具
XShell 收费?5款免费且超赞的SSH工具,一个比一个香!
SSH工具是后端程序员日常工作必备的工具之一,一款趁手的工具也能让工作效率事半功倍;
一行Java
2022/04/07
10.8K0
XShell 收费?5款免费且超赞的SSH工具,一个比一个香!
Visual Studio Code 1.35更新:远程开发终于来啦
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u011054333/article/details/91358602
乐百川
2019/07/02
1K0
Visual Studio Code 1.35更新:远程开发终于来啦
远程连接利器:玩转MobaXterm
文章链接:https://cloud.tencent.com/developer/article/2473927
努力的小雨
2024/12/06
5920
分享一些 Windows 平台上的神器
下面分享一些 Windows 平台上日常开发使用的软件,有些软件我自认为是神器,可以大大提高效率。
andyxh
2019/09/10
1.4K0
分享一些 Windows 平台上的神器
MacOS远程连接利器|玩转Electerm
好事发生,这里推荐一篇实用的文章:程序人生:职场摸鱼必备10个网站,作者:【IT技术分享社区】。
六月暴雪飞梨花
2024/12/07
6100
MacOS远程连接利器|玩转Electerm
20款VS Code实用插件推荐
VS Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的VS Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让VS Code成为了开发语言工具中的霸主,让其同时支持开发多种语言成为了可能。俗话说的好工欲善其事必先利其器,安装一些实用插件对自己日常的开发和工作效率能够大大的提升,避免996从选一款好的开发插件开始。以下是我整理的一些比较实用的VS Code插件希望对大家有用,大家有更好的插件推荐可在文末留言🤞。
追逐时光者
2023/08/23
1.2K0
持续集成 — 构建接口自动化测试的一种解决方案
给大家提供一种解决方案的思路,目前大部分同学接触到的jenkins构建自动化应该都是代码和jenkins服务在同一台服务器上面,但是很多时候事与愿违,也许公司的架构并不允许jenkins服务器并不允许做别的事情,jenkins服务器功能单一,只做构建job等系列工作,但代码及运行环境不在jenkins这台服务器,这里给大家提供一种解决思路:
DevOps时代
2019/03/08
1.2K0
持续集成 — 构建接口自动化测试的一种解决方案
Permission Denied (publickey):无法通过公钥认证的完美解决方法
大家好,我是默语!在这篇文章中,我们将深入探讨解决 Permission denied (publickey) 错误的方法。这一错误通常出现在尝试通过 SSH 连接到远程服务器时,公钥认证失败导致无法访问。我们将详细介绍导致这一问题的常见原因、检查和调试步骤,以及如何配置和修复 SSH 公钥认证。通过丰富的代码示例和实用技巧,帮助您顺利解决这一问题,提升工作效率。🔧
默 语
2024/11/22
2.1K0
六款Linux常用远程连接工具
xshell 是一个非常强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Windows 平台的 TELNET 协议。Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。
程序员小猿
2022/04/12
5.6K0
六款Linux常用远程连接工具
手把手配置VS Code远程开发工具教程
Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows 、 Linux和macOS等操作系统且开放源代码的代码编辑器,它支持测试,并内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于 IntelliSense)、代码片段和代码重构等。该编辑器支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数,同时还在编辑器中内置了扩展程序管理的功能。 --摘自维基百科
天道Vax的时间宝藏
2021/08/11
4.3K0
Euporie:功能强大、使用便捷的终端 Jupyter 交互工具,让Jupyter Notebook在终端下运行
在现代数据科学领域,Jupyter Notebook 已成为不可或缺的工具,它以其强大的交互性、可读性和可移植性而闻名。然而,在某些场景下,例如远程服务器、容器环境或仅仅个人偏好,使用终端进行操作更便捷。 Euporie 应运而生,它将 Jupyter 的强大功能带入终端,让用户告别鼠标,在命令行中畅游数据科学世界。
luckpunk
2025/01/24
2430
Euporie:功能强大、使用便捷的终端 Jupyter 交互工具,让Jupyter Notebook在终端下运行
使用VSCode进行远程炼丹
作者:韩冰https://zhuanlan.zhihu.com/p/89662757 本文已由作者授权,未经允许,不得二次转载
AI算法与图像处理
2019/11/29
1.6K0
Python深耕之Pycharm实现远程服务器连接
Pycharm作为python的一个重要开发工具深得大家的喜爱,并且专业版本更是开发了替代xshell等的ssh远程连接插件。首先我们来看下如何获得免费使用专业版本的权限。JetBrains为学生老师用户开通了免费许可。链接如下:
一粒沙
2022/11/21
1.6K0
Python深耕之Pycharm实现远程服务器连接
仅需几步就可快速实现SFTP的免密传输
在程序员的日常工作中,通过FTP/SFTP等工具在服务器之间进行文件的交互是一个基操技能,无论是编码开发过程中的跨系统传输文件,还是生产部署过程中的数据索取,熟练掌握这一技能,可以大大的提高开发效率。当然,现在也有很多终端模拟器提供了可视化的文件传输功能,比如XFTP、WINSCP、MobaXterm、Finalshell等等。
JavaBuild
2024/05/27
4590
仅需几步就可快速实现SFTP的免密传输
这10款SSH连接工具几乎占据了所有网络工程师的电脑,你认同吗?
ssh远程连接在日常工作中经常使用,一般情况下每个工程师都有自己青睐的连接工具,今天瑞哥给大家介绍几个常用的工具,看看有没有你没有用过的宝藏工具。
网络技术联盟站
2023/03/01
14.3K1
这10款SSH连接工具几乎占据了所有网络工程师的电脑,你认同吗?
老牌与新秀 SSH 客户端工具
SSH(Secure Shell)是系统管理员、开发人员和IT专业人员最常用的工具之一,用于远程管理服务器、执行命令和传输数据。在众多SSH客户端工具中,有些工具因其高效、易用及功能丰富而备受欢迎。在本文中,我将介绍几款流行的老牌SSH客户端工具,并推荐一款名为 Oysape 的新兴工具,它即是一款 SSH 客户端,也能提供不俗的 CI/CD 功能。
用户4475306
2024/09/05
3310
远程开发初探 - VS Code Remote Development
如果你是学生,你还在你的 windows 电脑上为各种环境配置头疼的时候,你应该了解一下 Remote Development。
心莱科技雪雁
2019/09/17
2.8K0
远程开发初探 - VS Code Remote Development
Java 程序员常用的开发工具
作为一名Java程序开发人员,可以的选择集成开发环境IDE(Integrated Development Environment)非常多,得益于Java是一门开源语言。有开源免费的;有商用收费的。如何选择一款适合自己的集成开发环境,亦或说选择一款符合自己项目开发需要的集成开发环境。如果选择得当,那么就能够使得开发工作事半功倍;否则事倍而功半。
全栈程序员站长
2022/09/08
1.6K0
推荐阅读
相关推荐
2025 年实用、全面的 VS Code 插件推荐!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档