Linux下什么IDE开发工具最好?
我现在更多的时候其实还是用MacOS比较多一点,尤其是工作的时候,MacOS确实能够很好的兼顾到所有场景,至少做keynote、剪辑视频这些用Linux还是没办法的。不过自己在家里写写代码我会用Linux,目前我的桌面Linux是Deepin,不过我个人更青睐Arch Linux,滚动更新确实还是很棒的。
Vim/Emacs+GCC+GDB+git
这个可能到现在也是很多Linux工程师的标配,比较大的互联网公司,基本上后端开发还是以这种方式为主,在以C/C++为核心技术栈,基本上是本地办公机器用iTerm、Zoc通过SSH方式连接登录远程Linux开发机进行工作。
这样的企业并不在少数,Google、百度、Facebook、腾讯很多后端工程师都是这样工作,这样的开发模式是长期形成的习惯,也在特定场景下确实有很大的优势。现在很多公司也都在推行Visual Studio Code这款工具,不少企业也基于这款工具做了很多契合自己公司业务的插件。
版本管理现在基本上都已经迁移到了git,当然大公司不会限制你使用什么开发工具,只要是合理范围内,你都可以自己选择。顺便给大家推荐一下,其实不管是MacOS还是Linux,tmux是个非常不错的工具,这款工具搭配Vim使用非常好,个人强烈安利。BeyondCompare也非常实用,不过这都不是必须。
大多数开发工具取决于你的工作语言
不同的企业核心技术栈不太一样,即使是前端开发,大家所用的工具也都有很多不同,有的喜欢用sublime text,有的喜欢用Visual Studio Code,每个企业都有自己喜欢的开发环境。
后端这块就更多了,C/C++、JAVA、C#、PHP、Go、Python等编程语言,都是比较常用后端编程语言,从技术上来说我倾向于大家C/C++,Go这几个后端技术栈,当然Python在人工智能领域确实有独特的优势。移动端还有iOS和Android,都有对应的开发环境,不过Linux下目前还做不了iOS开发。
C/C++集成开发环境,我个人比较喜欢CodeBlocks和CLion,CodeBlocks是个非常轻量级的集成开发环境,跟GCC、GDB这些开源工具相处和谐,CodeBlocks本身也是开源跨平台的,唯一的遗憾就是CodeBlocks在MacOS很久没有更新了。
CLion是大名鼎鼎的JetBrains公司旗下的产品,这家来自捷克布拉格的公司,开发了很多非常优秀的开发工具,包括耳熟能详的IntelliJ IDEA、PHPStorm、PyCharm 、WebStorm、ReSharper,当然也包括了今天要说的CLion,这可能是目前MacOS、Linux下最好的C/C++开发环境,没有之一,一定程度上我认为仅次于visual studio,真的非常好用。
Linux本来就是作为生产力、极客而设计的,林纳斯开发Linux的时候吸收了很多Unix的设计哲学,又将Linux给开源了,于是这就成了一个现实版的极客天堂。尽管基于FreeBSD的MacOS拥有着正统的Unix血统,我依然强烈建议你去尝试一些Linux,当然前提是你是开发者的话。
推荐不用IDE,为什么呢?请容我娓娓道来。
比较常用的重量级IDE:jetbrain系列
比较常用的轻量级IDE:visual studio code
但……如果这么用的话其实跟在Windows下开发也没多什么区别。。。
Linux可以说跟Unix很有渊缘了,Linux走的就是兼容Unix路线,所以普遍上认为Linux开发工程师=Unix开发工程师。
被称为计算机天才的王垠在《完全用Linux工作》写道:“
一个 IDE 集成了编辑器,编译器,汇编器,调试器,跟踪器…… 这个编辑器功能肯定比不上 VIM 或 Emacs,编译器比不上 GCC,汇编器比不上 as,调试器比不上 gdb, ddd, 跟踪器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序。如果你对调试器的功能不满意,你只好换用另外一套 IDE,但是这套 IDE 的热键,菜单,编辑器功能,按钮…… 跟原来那个有很大不同。你不得不花很多时间来熟悉新的环境,而不能保持原来的某些东西。
而在 UNIX 下就不一样了。你可以用你最喜欢的 VIM 编辑程序,你在 VIM 里可以调用 GNU make,make 可以调用 gcc, ld, ... make 的出错信息可以被 VIM 捕获,VIM 能帮你在源程序里定位。你如果喜欢 icc, 你可以让 make 用 icc 而不是 gcc。你如果觉得 gdb 跟踪变量时比较麻烦,你可以用 ddd 来显示各种数据结构之间的关系。你还可以在 Emacs 里调用 gdb,那样就可以同步显示源代码了。而且 VIM 和 Emacs 还可以编辑很多其它东西,比如信件,LaTeX 文档,HTML,配置文件…… 你不用另外找一个什么编辑器来干这些杂活了。很多程序比如 Mutt, tin 都可以在内部使用 VIM,这样就更方便了。实际上 make 在其它方面还能帮你很多忙,我的每一个比较大型的 LaTeX 文档都是用 make 维护的。”
简言之就是强大Linux开发工程师都是不用IDE的,即使目前IDE如此丰富,但目前在一些大型项目,仍然需要写makefile,而不是直接点击IDE运行程序。这就是相比Windows有趣的地方,Linux的开发工具小巧而自由。
linux c开发,现在用vs code + ubuntu虚拟机。(因为还要用企业微信、office全家桶离不开win,linux就只能放虚拟机里了)
然而直接在ubuntu虚拟机里装ide体验简直要炸裂,打开个vs code有时都要半分钟。
后来干脆把ubuntu虚拟机的图形界面关了,打开虚拟机smb文件共享和ssh server,在win下远程访问,体验比直接在虚拟机里好不少。
最近在折腾vs code的remote功能,可以用vs code远程调用虚拟机的工具链进行编译调试,体验很不错。