怎么选用编辑器

大家在学习编程的时候,必然要面临一个问题,选用什么编辑器来编写代码。编辑器有很多种,一般可以分为两类,一种是文本编辑器,一种是IDE。文本编辑器就是简单的书写文本,比较常见的是vim,sublime,notepad++等。IDE翻译成中文,叫集成开发环境,听名字就知道,肯定功能要更为强大丰富一些。主流常用的IDE就很多了,而且每一门编程语言都有自己的编辑器。比如WebStome, Eclipse,Vs Code,PyCharm等等等等。

大家不禁要问了,写代码为什么要用编辑器呢,而且这么多种类的编辑器,我们又该选那种。

在我看来,使用编辑器的理由,一般也就是下面这三种情况。

1. 提高工作效率

不得不说,选择一个好用的编辑器,确实可以很大程度上提高我们编程的效率。尤其是那些IDE,功能强大到你想象不到。通常,IDE里会内置代码智能提示,项目文件管理,代码调试,语法高亮,单元测试,版本控制。这么说吧,除了不能自动分析需求,帮你把代码自动完成之外,其他你能想到要用到的功能,它们都已经给提供了。

试想一下,如果有这么一个工具,可以让我们的编程无比的简单,我们代码想不起来了给我们提示,代码写错了帮我们指出来,代码写完了可以快速的运行,这能给我们提高多么大的编程效率。我们有什么理由不去用它。尤其是对于新手程序员,更加对此爱不释手了。

2. 特定环境下,必须要用到的编辑器

在一些特定的环境下,能给你提供的编辑器的选项可能并不多。在这个情况下,那种为数不多可供你选择的编辑器,就是你必须学会使用的。

我们都知道,现在的系统环境分为三种,windows,Linux,Mac。虽然我们可能会在Windows下编写代码,但是开发完的项目一般是运行在Linux环境下的。Linux系统呢,作为服务器,是不提供可视化页面的,它的界面一般是这样的:

在这种环境下,一般是不会有功能强大的IDE来供我们使用的。它能提供的编辑器,90%的可能是一个叫Vim的软件。所以,学习并使用Vim,是我们不得不去做的选择。

3. 装逼,带你飞

最后一点,可能是大部分程序员选择编辑器的初衷。

如果你在写代码的时候,是这样的

点击播放 GIF 0.0M

尤其是周围再围了一群程序员,用崇拜的眼神望着你,我觉着这个理由不需要做任何解释了。

“我擦,牛逼!”

“大神,快教教我,我要学!”

编辑器鄙视链

网上其实有很多关于程序员的鄙视链。什么编程语言,编辑器,甚至是编程理念都是这个链条中的一个分支。

我们可以发现,在这个鄙视链条上,跟我们上一个模块所介绍的内容,其实并不一样。仿佛越是越是功能简单的编辑器,才越有优越感,才越像是大神。反倒是那些能把编辑器用的溜到飞起,功能酷炫,能让人瞬间跪倒崇拜的效果,竟然是最被鄙视的存在。

这可能就说明,越是高手越注重内在的修为,而不关心外物的辅助,早已达到了“心中有代码,信手可拈来”。这种才是真的大神,才是真的值得我们膜拜。

不过对于我们这些,还是初级水准并且将长期出于初级水准的程序眼而言,大神的世界不是我们能懂得,我们不要担心被鄙视,我们还是应该找一个功能强大,能够很大程度上提高我们工作效率的工具。

常用的编辑器推荐

开篇我们其实就已经说到了,每门语言都有着自己常用的编辑器。

当然了,经过这么多年的发展,编辑器之前也在相互借鉴,取其精华,用于己身。现阶段的编辑器,功能都已经差不多,而且都已经能够做到对各种编程语言的支持。

接下来,我来介绍几个在我们工作中,比较常用的编辑器。

Vim

如果你只能选择一款编辑器的话,Vim一定得是这个选项。并不是说Vim的功能有多强大,相反,会用Vim的人觉着它的功能好用到逆天,但是更大一部分人根本就没办法入门。但两级分化这么大,为什么我们还得去学习使用它。

前文也提到,我们的代码通常会在三个操作系统中使用,Windows,Linux,Mac。现在开发环境里,99%的代码应该都是运行在Linux环境下,而Linux,作为一个有着高门槛,有逼格的操作系统,很多时候,它连图形桌面都没有,更加不可能给我们提供其他功能复杂的IDE软件了。Vim差不多就是这个系统里标配的文档编辑器。你说你不会用,那不好意思,你可能也没有其他的编辑器可用了。

所以,Vim的入选,是有着不可抗力的。

当然了,Vim其实可以被称之为编程神器。它能够屹立不倒这么多年,在Linux环境下达成垄断地位,本身的实力也是不能小觑的。

Vim是可以功能定制的。在最基本的版本里,我们可以通过命令进行文档的编写,查找,替换这些常用的工作。还可以安装不同的插件,实现代码调试,高亮提示,断点调试,页面美化,达到完全不输于其他高级IDE的功能效果。

Sublime

Sublime同Vim一样,也是一个轻量级的文本编辑器。官方提供Windows,Mac两个版本,在Linux下是使用不了的。

Sublime的最大优势,可能就是速度快。用它来编辑代码,运行速度可能就跟我们在Windows里打开了记事本差不多,但是它所能提供的编程体验,却丝毫不低于其他功能复杂的IDE。

Sublime也是可以根据自己的需求进行定制化的。基本上你实际工作中会用到的功能,都会在Sublime中找到适用的插件。

VSCode

接下来,我们再介绍两个常用的IDE。IDE翻译过来叫集成环境,所以它们的功能一定是十分强大丰富的。也正因为这一点,IDE都是很重量级的软件,往往要依赖很多其他的运行环境,比如Java环境,比如.NET环境。有时候,安装完一个IDE,可能会占用我们电脑上几百兆甚至上G的空间。而且在软件运行的过程中,电脑的内存和CPU的使用情况也会激增,一定程度上会拖累我们电脑的运行速度。

所以我一般是不推荐使用IDE的,但是也不得不说,熟练掌握一个IDE,确实可以很大程度上提高我们的工作效率。

VSCode是微软出的一款轻量级代码编辑器,免费、开源而且功能强大.它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。

其他的代码编辑器在打开特别大的文件时可能会有明显的卡顿,但是 VSCode 就是秒开,速度和 Notepad++ 不相上下。而总体体验上 VSCode 要比 Notepad++ 好不少,NotePad++ 的功能相比 VSCode 来说还是弱了点。因为打开速度特别快,所以 VSCode 也非常合适作为普通文本阅读器。

Atom

Atom 是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。

开发团队将 Atom 称为一个“为 21 世纪创造的可配置的编辑器”,它拥有非常精致细腻的界面,并且可配置项丰富,加上它提供了与 SublimeText 上类似的 Package Control (包管理)功能,更重要的是atom的包管理工具可视化了插件的配置,以及插件的使用帮助以及对应的github的地址,这很大层度上方便了开发人员将 Atom 打造成真正适合自己的开发工具.

作为一个现代的代码编辑器,Atom 有着各种流行编辑器都有的特性,功能上非常丰富,支持各种编程语言的代码高亮(HTML / CSS / Javascript / PHP / Python / C / C++ / Objective C / Java / JSON / Perl / CoffeeScript / Go / Sass / YAML / Markdown 等等), 与大多数其他编辑器相比,Atom的语言支持已经算是覆盖非常全面了.另外,它的代码补全功能(也叫Snippets) 也非常好用,你只需输入几个字符即可展开成各种常用代码,可以极大提高编程效率.

我们需要掌握到什么程度

这几个编辑器,各有所长,各有自己的不足,针对不同的开发人员,可能需要根据自己的喜好来选择,不过幸运的是,这几个编辑器的使用方式大同小异,基本上可以无痛的迁移到任何一个编辑器上。

虽然编辑器给我们提供了无数好用的功能,但是我们却没有办法真正的把这些工具都研究通透。毕竟我们使用它们的目的还是为了编写代码,而不是为了产品研究。对于我们日常编写代码而言,其实主要常用的功能也就几个,我们只要把这些功能掌握了就可以了。

1. 文本编写

这是文本编辑器最基本的功能。就是我们可以使用它来进行书写内容。至于怎么书写能够让我们更有效率,就是功能强大的编辑器能够俘获我们的特性。

比如我们要批量的替换文档中的文字,需要格式美化,需要字符串查找,需要能够很快速的帮我们更换文本格式,支持多种编码等等。

2. 编程语言支持

这种支持,指的是代码高亮,能够提供语法检查和代码提示。

大部分的编辑器其实都能做到这一点,但并不是所有的编辑器都会默认支持。有时候需要安装一些插件,它才能真正的被支持。

3. 支持项目管理

一般的编辑器,其实都只是对单个文件的操作。但是对于我们写程序来说,一个项目里可能会有成百上千个文件,而且每个文件中的代码都还会有关联,存在相互调用的关系的。这就需要编辑器能够帮助我们理清楚这些文件的依赖关系。

很常见的一个需求点是,A文件中调用了B文件的一个函数方法,我们在调试代码的时候,需要在A文件快速的定位到B文件中这个函数方法,这种功能就不是一般的文本编辑器可以实现的了。但是在IDE中呢,却是一个最基本的功能。

4. 集成代码管理工具

代码管理工具,目前用的普遍的就是Git了。具体这个软件是做什么用的,我们会在其他篇章中介绍,但是编辑器对这种工具的支持,却是十分有必要的。

总结

对于编辑器,各有所长,也各有自己的不足,针对不同的开发人员,可能需要根据自己的喜好来选择,不过幸运的是,目前市面上的编辑器,使用方式大同小异,基本上可以无痛的迁移到任何一个编辑器上。

我们不管选用哪一个,都是为了能够更好的进行代码的维护和编写。最基本的操作一定要熟练。剩余其他的更高级的方法,则也要慢慢的了解熟悉。没学会了一个好用的方法,可能你的编码效率都会有极大的提高。

我是旭积博发,我致力于分享和关注在线教育行业。欢迎大家关注和分享。

linux编程用到什么编程语言,学好编程第一步,你得学会用什么工具来提高编写效率...相关推荐

  1. 编程应该怎么学?学好编程讲方法

    编程到底怎么学?因为编程语言不同于我们日常的交流语言,想要将其学习到位.学习透彻,需要一定的方法. 一.看书 不知道大家在学校是怎么做笔记的,但我觉得我们可以借鉴毛主席学习的方法,即在看书的过程中标注 ...

  2. 不是计算机专业及其相关专业,对软件编程一窍不通,能学好编程吗?

    最近很多朋友在知乎上问我这样一个问题: 我不是计算机专业以及软件工程专业,对软件编程一窍不通,我能学好编程,顺利进入IT行业吗? 其实,这个问题是很多想转行的朋友都很关注的问题,所以,我借助这篇文章和 ...

  3. python单片机编程入门先学什么_编程入门必看:带你零基础了解编程和编程语言,入门应该学什么?...

    编程入门 什么是编程 我们通过有固定格式和固定词汇的"语言"来控制他人,让他人为我们做事情.语言有很多种,包括汉语.英语.法语.韩语等,虽然他们的词汇和格式都不一样,但是可以达到同 ...

  4. 如何学好编程%2B(精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你%2529

    诶呀 整理的眼睛都疼了 可是还是整理的有点乱  希望能够带给你们很大的帮助哟要珍惜我的劳动成果.谢谢咯 方法(一) 编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说 ...

  5. 【repost】如何学好编程 (精挑细选编程教程,帮助现在在校学生学好编程,让你门找到编程的方向)四个方法总有一个学好编程的方法适合你...

    方法(一) 编了这么久的程序,一直想找机会总结下其中的心得和方法,但回想我这段编程道路,又很难说清楚,如果按照我走过的所有路来说,显然是不可能的!当我看完了云风的<游戏之旅--编程感悟>和 ...

  6. python编程是啥-python编程语言是什么?它能做什么?

    Python是一种全栈的开发语言,你如果能学好Python,前端,后端,测试,大数据分析,爬虫等这些工作你都能胜任. 当下Python有多火我不再赘述,,Python有哪些作用呢? 就目前Python ...

  7. 学好编程需要英语很好吗

    很多刚开始学编程的人都会问我英语差能学会编程吗??学会编程不需要多高深的英语水平,想要学会编程,简单的英语水平足够了,现在的程序开发环境又很友好,基本上打开之后不需要怎么配置,直接写代码就行,程序语言 ...

  8. 学好编程的 4 个秘诀

    你好呀,我是沉默王二,一枚沉默但有趣又帅气的程序员(你听,耳边是不是响起了装逼的声音).今天我来掏心掏肺地聊聊学好编程的 4 个秘诀,应该会对你产生一些微妙而又积极的影响. 闭上眼睛转个圈,想一下你身 ...

  9. 英语基础太差,到底能不能学好编程?

    随着互联网的高速发展,对编程人员的需求量也日益增多,越来越多的人都想转行学编程,可又有点担心,英语基础不好,能学好编程吗? 那么英语到底影不影响对编程的学习呢?有影响,现在编程语言都是以英语为基础,说 ...

最新文章

  1. IDEA开启关闭拼写检查
  2. php类使用场景,php类与对象得使用场景
  3. java中方法的参数传递
  4. deepblueai
  5. [云炬创业基础笔记]第十一章创业计划书测试1
  6. java普通类跳转到jsp_JSP跳转到Servlet的两种配置
  7. 【图像超分辨率】Multi-scale Residual Network for Image Super-Resolution
  8. 未声明spire。它可能因保护级别而不可访问_信息系统安全:访问控制技术概述...
  9. 操作系统(13)-操作系统中的死锁及其预防、避免、检测与解除
  10. Python 包管理
  11. Spring面试基础题
  12. zabbix监控第一台服务器(10)
  13. golang高级部分
  14. 单片机c51交通灯c语言程序,c51单片机交通灯程序
  15. 模型预测控制的缺点_基于模型预测控制的车辆纵向跟车模型分析
  16. 3D建模就业前景如何?
  17. 氨基-peg2000-水溶CulnS/ZnS量子点|NH2-PEG-CulnS/ZnSQDS的透射电镜(TEM)和高分辨透射电镜(HRTEM)图片
  18. 2021-06-08实验室如何正确选择和确认检测方法?
  19. 加壳器第二部分,加壳器
  20. 炎炎夏日 已过 ,博客 从新开始

热门文章

  1. win10注册dll
  2. UE4控制三自由度动感平台
  3. 中国电信数据机房管理系统
  4. 长生官网被黑:不搞你,对不起祖国的花朵;Chrome OS 初步支持 .deb 安装包文件...
  5. RAD(Rapid Application Develop,快速应用开发)模型
  6. html里怎么显示文章段落,html 文章段落
  7. Windows任务管理器,远比你想象中的复杂
  8. 矿大计算机学院徐慧,【导师制进行时】徐慧:给学生一个选择的权利
  9. 单片机中RAM少,有哪几点原因?
  10. windows11/win11忘记密码清除密码解决方法