展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 软件教程 > 我最终还是选了 VS Code

我最终还是选了 VS Code

以下文章来源于平凡而诗意,作者Jackpop—▼—前言兜兜转转,在开发工具方面我还是选择了VSCode,原因非常简单--远程开发。工作之后,开发平台慢慢就开始以Linux为主。之所以选择Linux,首先,是因为它在编译、操作等方面更加便捷省心。其次,是因为和后期测试、部署环境更加统一。但是,这就遇到了一个矛盾,日常办公主要以windows为主,而开发只能在无桌面的服务器端进行,这样随之而来的就是开发效率和便捷性的降低。虽然一些小的项目可以使用vim完成,但是在大一些的工程,就会觉得处

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

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

—▼—

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

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

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

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

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

我的远程开发之路

Pycharm+vim+Putty

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

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

MobaXterm

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

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

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

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

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

xshell+xming

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

再后来,我尝试了一下 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 的远程开发就一目了然。

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

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

远程开发配置

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

第一步:安装插件

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

点击扩展按钮搜索 Remote Development安装
我最终还是选择了 VS code...

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

第二步:配置远程服务器

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

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

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

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

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

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

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

配置免密登录

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

第一步:生成 windows 公钥

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

打开 cmd,

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

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

第二步:配置远程服务器

进入 SSH 配置目录,

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

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

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

第三步:修改文件权限

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

代码语言:javascript代码运行次数:0运行复制
$ 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+K、Ctrl+Alt+J、Ctrl+Alt+L 快捷键添加标签,并且可以快速调整到指定标签位置。

GitLens

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

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

TODO Highlight

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

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

Code Runner

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

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
软件教程 Windows
相关文章 更多
精品专题 更多
本月促销

正软商城本月促销专区,汇集办公、设计、安全、影音、系统工具及AI软件等正版软件优惠活动,提供限时折扣、特价授权和优惠购买信息,活动库存及价格以页面实时展示为准。

装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Menuist
Menuist

Menuist 是一款面向 macOS 的 Finder 右键菜单增强工具,主要用来补充新建文件、快捷导航等常用操作,让日常文件管理和访问路径时更高效、更顺手。

Mole
Mole

Mole 是一款专为 Mac 设计的深度清理优化工具,涵盖缓存清理、应用管理及实时状态监控等功能。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

PinStack
PinStack

PinStack是一款轻量级的Windows平台剪贴板管理工具,优化您的剪贴板使用体验。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Seer
Seer

Seer是一款在Win平台下的空格键功能增强效率工具,只需轻敲空格键,就能预览几乎任何格式的文件。它更适合把零散的小功能集中起来使用,处理高频琐碎任务时会更省事。