善用好软件(软件自学网)
从今天开始,我们将为您带来VS代码系列。
作为第一篇文章,我想先谈谈主要的文本编辑器,这是程序员最喜欢的论点之一。
我还在读研究生的时候,喜欢折腾各种编辑,写了一系列文章,应【善用善柔】的邀请,发到他的博客上(刚访问,发现他的博客已经4年没更新了,但还是可以访问的)。有关文章列表,请参见:[系列文章]创建一个全方位的文本编辑器[1]。
当时的文字编辑是分类的(不在乎这个分类):
武林高手-VI/Vim,Emacs,jEdit(免费,开源,所有平台)
精通武术-ultraedit、Editplus、TextPad、EmEditor等。(共享,窗口)
普通专家——记事本++、记事本D2等。(开源是免费的,可以代替记事本)
除了Emacs,我和上面所有的编辑都合作过。转眼间十年过去了,很多编辑可能不会被大多数人使用。像几乎所有东西一样,编辑也有它的生命周期。借用李善友《第二曲线创新》中提到的S曲线,技术、产品、公司、产业的生命周期都符合S曲线。编辑器属于产品,其生命周期自然符合S型曲线。
图像:第二曲线创新
当然,有些编辑可以说是经久不衰,比如编辑之神Vim,编辑之神Emacs。但由于门槛较高,这两位编辑的相对用户会不如新编辑,但他们的用户都是忠实粉丝。比如我抛出Vim之后,现在任何没有Vim模式的编辑器(或者IDE)都很难,包括所有有Vim插件的浏览器,它的模式和快捷键都太好用了。
这次比较应该选择哪些编辑?根据自己的人脉、社区讨论和网上资料,仅考虑跨平台(Linux、Mac、Windows)编辑器,最终选择了以下三款编辑器进行对比。(注意IDE不在比较范围内。当然,文本编辑器和IDE不一定严格区分,但一般认为Goland是IDE,VS Code是文本编辑器)。
崇高的文本
原子
VS代码
这三个编辑器的用户应该包括大多数使用文本编辑器的用户。为什么没有Vim和Emacs?太难了,很多人进不去门,我也没用过Emacs。
注:本文基于MacOS操作系统,涉及的快捷键也在Mac系统下。
崇高的文本
这是一个功能丰富的漂亮的文本编辑器。是共享软件,买许可证要80块钱,但是不买不影响使用,但是保存文件的时候可能会提醒。据说当时编辑的作者辞职了,找了一家酒店,全身心投入到开发中,所以收费无可厚非,大家都得吃饭。目前最新版本是威震文字3,不推荐使用2,因为很多插件可能不支持。
官网:https://www.sublimetext.com。
在我的印象中,2011年左右,编辑器大爆发,对前端开发特别友好,感觉自己是一个超现代的编辑器。我也成为了它的用户。据我观察,很多非程序员也在用,比如产品经理。为什么能在众多编辑中脱颖而出?经过这么多年的发展,我们来看看用户喜欢的一些功能。
1、去任何地方
该功能使打开文件和跳转到符号、一行或一个单词变得方便快捷。相关快捷键如下:
其实以下基本都是通过上面的Goto对话框实现的,可以:
输入文件名的一部分以打开文件;
输入@ plus符号跳转到相应的符号;
输入#加任何字符在当前文件中搜索;
输入:添加一个数字跳转到当前文件的一行;
以上快捷方式可以组合在一起。例如,输入io.go@Reader打开文件io.go,导航到界面Reader。同样,io.go:100将被定位到文件io.go的第100行。
北极星点评:这是威震文字编辑器最大的亮点,是先锋。以前没有编辑。由于使用方便,VS Code等编辑器也提供了类似的功能。
2.多重选择
双击文件中的某个单词或者选中某个单词,文件中的其他单词就会被+d“虚拟”选中、展开、选中,然后进行修改,这样就可以同时修改多个地方,达到批量重命名的效果。
北极星评论:这也是崇高文本的创新吗?之前用的编辑器没找到。因为使用方便,VS Code也提供了。
3.单独编辑
如果您的显示器足够大,您可以在一个窗口中分隔多个编辑区域,并并排编辑文件。
4.命令面板
命令面板保存各种必需的功能,例如排序、更改语法和缩进设置。只需几次击键,你就可以搜索到你想要的东西,而无需浏览菜单或记住模糊的快捷键。用*++* p打开这个面板,可能这也是崇高文字的第一个首创,后来VS Code和Atom都有这个功能。
5.生态(可扩展性)
极度可扩展是崇高文本的主要特征。在此之前,除了Vim和Emacs之外,其他很多文本编辑器的可扩展性都很差,所以根本没有生态。随着升华文本的出现,简单易用的文本编辑器也具有很强的扩展性。而且,崇高文字的扩展是Python实现的,所以很多人都可以实现自己的扩展,因为Python有大量的用户。此外,崇高文本可以显示一个控制台,这是一个Python解释环境,直接记录相关的执行信息。
Subetext有一个特殊的Package Control,需要在安装其他包之前安装。打开命令面板,键入“安装程序包控制”,以安装程序包控制。
之后,您可以通过命令面板并键入Install来打开包控制,并且您可以搜索要安装的包。
Poalris评论:吐出来,Sublime Text的包安装界面很慢,从这个界面看不到太多详细的介绍。找到一个软件包并单击以安装它。详细信息只能通过https://packagecontrol.io/.查看
6.可定制性
同样,除了Vim和Emacs之外,大多数传统编辑器的可定制性都很差,并且大多数编辑器都是通过配置页面以有限的方式进行配置的。但是在崇高文本中,您可以自定义快捷键、菜单、代码片段、宏、自动完成等。-几乎所有东西都可以定制,这是通过一个JSON文件实现的。此外,对于每种文件类型,每个项目和每个扩展(包)都可以有自己的配置项。在“首选项”子菜单下,您可以看到:
北极星点评:直接通过JSON的配置还是有点原始,易用性还是差了点。
7.内置项目支持
Project直接是顶层菜单,可以保存、打开、快速切换项目。多项目管理方便。保存项目时,将生成升华文本独有的项目文件。记得把它加到。gitignore。
8、极小地图
在文本编辑区域的右侧,显示当前文本编辑区域的预览。这也是崇高文本的首创。VS代码也提供了这个功能。
子文本的缺陷
1.崇高文本不完全支持字符编码,如GBK编码;
2.有一次输入中文,输入法候选词的对话框特别尴尬,在Linux下出现了一些问题。不知道现在有没有改善;
3.主题变化不彻底。例如,左栏和底部控制台是白色的;
原子
这是GitHub制作的开源文本编辑器,于2015年5月发布。官方说法是,这是一个面向21世纪的可编程文本编辑器。所以编辑器的目标是程序员。
官网:https://atom.io/,GitHub源地址:https://github.com/atom/atom.
因为是GitHub出品,自然会有很强的GitHub特性,有两个核心特性是必须要引入的。
特点:原子电传打字机
Git使多人协作变得更加容易和方便。基于类似的想法,Teletype希望多人同时在一个编辑器中编写代码。其实这和现在的在线办公软件差不多,很多人可以同时编辑同一个文件。具体操作如下:
安装电传打字机。这是Atom的官方插件,安装程序很多。
安装后,带有红色方框的图标将出现在Atom状态栏中。
第一次点击后,会出现登录GitHub的弹出窗口,需要GitHub授权。授权成功后,将生成一个令牌,并将其复制粘贴到此弹出窗口中。授权成功后,弹出窗口如下所示:
单击共享,复制它生成的链接,并与其他人共享。其他人加入后,可以一起愉快的结对编程,做一辈子的好基友~
有一个使用这个插件的官方演示视频:https://teletype.atom.io/.
特性2:与Git和GitHub无缝集成
Git和GitHub内置在Atom编辑器中,可以直接使用。您可以在编辑器状态栏中看到相关信息:
与Git的集成、编辑器中与Git相关的操作以及其他编辑器可以通过扩展轻松实现。但是Atom这个功能好不好,主要体现在GitHub的官方实现细节以及编辑器与GitHub的高度集成。
其他功能
因为崇高文本的强大影响力,在介绍Atom的时候,甚至会说它是一个像崇高文本一样的编辑器。除了配置比Sublime Text纯JSON更友好之外,我目前还没有发现其他特别之处。唯一值得一提的是,Atom集成了HTML、JavaScript、CSS和Node.js,是基于Electron构建的。electronic是使用Web技术构建跨平台应用程序的框架。因此,Atom依赖Node进行包管理,扩展自然由JS实现。
此外,虽然Atom支持GBK,但是当一个文件被GBK编码时,它在打开时无法被正确识别。虽然可以通过状态栏的编码修改编码格式,但无法正确显示内容。也就是说,它可以将文件保存为GBK,但不能正确打开GBK文件。
此外,Atom与其他编辑器的不同之处在于,它的所有窗口都像文件一样在新的选项卡中打开。
VS代码
VS Code,Visual Studio Code的全称,是一个轻量级但功能强大的源代码编辑器,支持Windows、macOS和Linux。它内置了对JavaScript、TypeScript和Node.js的支持,并拥有其他语言(如C ++、C #、Java、Python、PHP、Go)和运行时扩展(如。NET和Unity)。这是一个免费的开源编辑器。
从名字可以看出,VS Code有微软令人敬畏的IDE Visual Studio的影子。
VS Code官网:https://code.visualstudio.com/, GitHub地址:https://github.com/Microsoft/vscode/,截至2020年8月25日,有102k星。
2015年,微软发布了VS Code的首个预览版,2016年正式发布了1.0版本。它发布后,受到了很多开发者的喜爱。个人感觉,曾经很受欢迎的《崇高文本》被打垮了,显示出它的发展势头。有来自StackOverflow年度调查报告的数据作为证据(我们只关注本文讨论的三个文本编辑器的变化)。
1.2015年,VS Code没有出现在榜单中(可能还没有发布?)。子文本为25.2%。(注意NotePad++只是Windows版本,也是老版编辑器,定制性差,但更轻更免费,可以替代Windows自带的NotePad)(参与人数:26,086)
2.IDE好像是2016年加入的,因为IDE 2015年没有出现在列表中,但是在2016年出现了。从下图可以看出,在三位编辑中,威震文字依然遥遥领先。虽然出现了VS Code,但只有7.2%,落后于Atom的12.5%。(参与者人数:50,000)
3.从下图可以看出,2017年威震文字依然位居榜首,但VS Code已经超越Atom,达到24%。(参与者人数:64 000人)
4.2018年VS Code爆发,达到34.9%,排名第一,超越IDE Visual Studio和Notepad++。(参与人数:10万)
5.2019年,VS码已经达到一半以上,达到50.7%。Subetext仅为23.4%,Atom为13.3%。(参与者人数:90,000)
此外,2019年Go官方调查报告显示,使用VS Code开发Go的用户比例从2016年的16%上升到41%,排名第一,比IDE Goland的用户数量还多。子文本从2016年的11%下降到2%;Atom从2016年的12%降至1%。
以上种种都说明VS Code赢得了大多数人的青睐,他们已经放弃了原来的编辑器,转而使用VS Code。
VS Code有什么伟大的地方让这么多人喜欢?
首先,我觉得VS Code也是一个崇高样的编辑器。如上所述,一些特殊的功能是由崇高发起的。但是如果只是模仿别人的功能,就不会那么受欢迎了。让我们来看看VS代码的优秀特性。(当前VS代码版本1.48.0)
满足智能感知
用过Visual Studio的人应该深有感触。VS代码继承了这个优秀的特性。它不仅是简单的语法突出显示和自动完成,而且是基于变量类型、函数定义和模块导入的智能感知。
调试并运行
调试功能一直是集成开发环境独有的。对于编译语言,需要支持调试。在这方面,崇高文本和Atom没有很好的支持,而VS Code有菜单Run支持。
同时,与IDE类似,可以直接点击打开文件左列的断点。演示一个简单的Go程序,点击运行->开始调试或者直接按F5启动调试器(编辑器最左边有一个按钮进入调试模式),如下图所示:
这和调试IDE没什么区别。
集成终端
快捷键: `将打开集成终端。这项功能在《崇高的文本》和《原子》中找不到。对于程序员来说,尤其是服务器端开发,这是非常需要的。这里其他几个窗口的功能也相当有用。
膨胀性
VS代码的构建考虑了可伸缩性。从UI到编辑体验,几乎VS Code的每一部分都可以通过扩展API进行定制和增强。事实上,VS Code的许多核心功能都是作为扩展构建的,并且使用相同的扩展API。因为VSCode是使用TypeScript构建的,所以扩展也是基于TypeScript的。你几乎可以在VS Code: Drawing中找到任何你能想到的扩展?听音乐?你可以尝试任何你想到的。它几乎成了一个平台。
扩展的安装也非常友好。最左边有按钮可以直接进入扩展市场,还可以看到每个扩展的详细信息。同时,VS Code也会根据你的打开文件智能为你推荐扩展。本文后面会介绍。
此外,VS Code也是基于Electron的,但是占用的资源比Atom少。
可定制性
这方面与Atom类似,Atom的配置直观且易于使用。大多数扩展也支持定制。
语言服务器协议
这并不是VS Code独有的,但最初是微软为了解决编辑器或IDE不同语言的特性,比如自动补全、跳转到定义、查找引用等而提出的。只要语言实现了这个协议和相应的VS Code扩展,就可以实现这个功能。后来引入的Gopls是Go语言的一种实现。
设置同步
由于强大的配置能力,每个人都可以配置自己的VS Code。如何对家用电脑和公司电脑使用相同的配置?电脑如何避免以后再次折腾配置?
VS代码提供同步配置功能。左下角有一个打开同步的图标。
选择同步项目,然后登录到微软或GitHub帐户进行同步。
其他功能
上面威震文字中提到的功能和特性,在VS Code中都有,用法也基本相似,所以威震文字用户可以轻松切换到VS Code。
当然,Git现在这么受欢迎。内置的VS Code也支持Git,有强大的第三方扩展可以使用,后面会介绍。
此外,VS Code还可以开发远程容器。只要你愿意投入一些心思,你一定会让VS Code成为你最有效的编程工具和助手。当然,如果你不想折腾,也可以和我一起玩VS Code。
顺便说一句,用VS Code打开《崇高的文字》和《原子》中有问题的GBK编码文件也是乱码,因为它被识别为UTF-8文件,但是你可以点击状态栏中的“UTF-8”打开切换编码窗口,通过“用编码重新打开”选择GBK正确打开文件。
不知道大家有没有注意到,VS Code的状态栏非常强大。
摘要
因为微软的大力支持,VS Code各方面都做得不错,文档也比较齐全。本文不比较具体的编程经验,涉及太多具体细节。而且很明显,本文是推荐大家使用VS Code,所以编程的详细体验只会在后续涉及VS Code。只有当你在某些方面做得不好的时候,你才会看到其他两个编辑是否做得更好。
在我看来,除了安卓、iOS等强烈依赖特定IDE的开发,其他开发都可以用VS Code来完成。更别说走了。所以如果你不想在Goland上花钱,可以从今天开始尝试VS Code,和我一起玩。
从资源占用来说,编辑器是轻量级的,所以不会占用太多资源。相对来说,似乎VS Code占据的空间最少。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 ZLME@xxxxxxxx@hotmail.com 举报,一经查实,立刻删除。