Linux 下什麼 IDE 開發工具最好?

請說明自己的編程平台以及編程語言


JetBrains業界良心秒全場。

學生拿edu郵箱註冊可以免費。

Scala, Java -&> Intellij IDEA 反正我個人體驗比eclipse要好用一些

Python -&> PyCharm 這個優勢不明顯,畢竟動態語言。

C++/C -&> CLion 最近剛出正式版。基於CMake的構建不能更良心。

他家IDE極多,主流語言幾乎都有。上面都是我用過且長期使用的(暴露了語言取向)

JetBrains系列的主要特點是:好看,精細,強大。然而如果不想細究它的強大,它又足夠易用。


Java/Android -&> Intellij IDEA (Android Studio也是基於Intellij IDEA,不過個人更喜歡直接用原生的。BUG少)

Html,Css,Js,NodeJS -&> WebStorm, Sublime Text

PHP -&> PHPStorm

Python -&> PyCharm

C/C++ -&> CLion

以上幾乎都是JetBrains系列的IDE。說說個人在使用該系列IDE的優點:

  • 自動代碼提示(不用像Eclipse按快捷鍵才回出現代碼提示)
  • 熟悉快捷鍵即可全鍵盤操作。編碼的時候減少打斷思路
  • Ctrl + W 可以按代碼塊選擇代碼,按多次可以逐步擴大選擇代碼非常的爽(導致經常在瀏覽器或者其他IDE下也習慣按Ctrl + W關閉窗口)
  • Git/SVN良好支持,無需裝任何插件。
  • 非常贊的全局搜索功能Ctrl + N搜索, Ctrl + Shift + N 搜索文件,支持模糊查找。
  • 自動摺疊代碼。

舉個栗子,當你寫了一個實體,N多Get Set方法後,代碼會自動摺疊,看起來是不是舒服很多,而且,那些灰色的方法名表示這個方法從未被使用過

  • 非常贊的代碼檢測。在編碼過程,IDE會自動檢測你的編碼是否符合規範,是否有冗餘。例如:

(提示你 respStr 在此處的初始化是多餘的)

再舉個栗子:

滑鼠移動帶 if 上,IDE給出的代碼提示是:

他提示你可以這麼改代碼更有逼格... (在可讀性和逼格面前,絕大多數程序猿都會選擇逼格^_^)

  • 有很多很方面的小工具,例如 Test RESTful Web Server,在編寫介面的時候,十分贊。

以上只是以Intellij IDEA為例,其他 JetBrains 系列的IDE都有類似的優點。個人崇尚的理念是,技術問題可以折騰,在IDE,工具方面,還是少折騰為妙,JetBrains正好符號我心得的理想工具,盡量少讓用戶折騰。

關於JetBrains系列IDE其他使用小技巧歡迎評論里交流^_^

···

Intellij的入門,可以參考 淚奔, 放棄Eclipse, 轉向IDEA IntelliJ


強烈推薦 JetBrains 系列,其認可度有趕超 eclipse 之勢。跨平台,支持大多數語言的開發,每種類型的語言都有對應的 IDE ,比如 Java/Scala 有 Intellij Idea , Python 有 pycharm 。這款 IDE 兼有免費版和收費版,免費版的功能對普通開發者來說已經夠用。

跨平台的 eclipse 也比較好用,支持大部分主流開發語言:C/C++,Java,Python,PHP等等,只要安裝對應的插件即可。

另外可參考 codeblocks 和 anjuta,支持的語言比 eclipse 少一些。


看開發語言,Java/Scala使用Intellij方便些,Markdown感覺haroopad非常贊,如果是C/C++/Python使用vim就夠了,語法高亮、自動補全、代碼跳轉等功能都包含,可以參考GitHub - int32bit/dotfiles: A set of vim, zsh, git, and tmux configuration files.(*nix開發環境一鍵配置)關於vim的配置,以下是部分截圖:

左邊是標籤列表,顯示當前文件的import列表、類、方法、變數等。最右邊是項目文件瀏覽,最下面是快速文件查找。

上圖為自動補全截圖。另外使用vim最大的一個好處之一是可以在字元界面上運行,伺服器上vim也是默認的編輯器。


如果是IDE的話,輕量級的Geany可以試試。

個人觀點,不是很喜歡把VIM配成IDE。


看你自己的語言和需求、、、

個人用的C++、、、在win下和linux下均為Qt Creator、、、

另外還有kdevelop不錯,codelite和code::blocks也用過,不大習慣、、、

這四個都是跨平台的、、Qt Creator和kdevelop 是基於Qt的、、

codelite和code::blocks好像是基於WxWidgets的、、

看你需求把、、我做客戶端用的是Qt,當然首選Qt Creator了、、偶爾還可以用Qt寫個android玩玩、、

服務端用純CPP也用的Qt Creator,用的qmake或者cmake代替的makefile、、、


linux不流行使用IDE,linux喜歡用編輯器加插件配調試器。

如果你是從windows切換過來,可以考慮使用slickedit.收費的。


Sublime text 3 如果你追求美感和個性化。


24個Linux下的IDE Almost complete list of IDE, Editor for C++/QT/Linux:

1. Kdevelop 2. Anjuta Anjuta 3. Codeforge: 4. Code Warrior:

5. Cool Edit: 6. Code Crusader: 7. Source Navigator: 8. XWPE:

9. gIDE: 10. SniFF: 11. Code Dragon / WxStudio: 12. QtEZ:

13. Moonshine: 14. Komodo: 15. Guide: 16. Amy: 17. Glimmer:

18. VDK Builder: 19. KDE Studio: 20. E Builder: 21. Motor

22. Eclipse 23. Leo 24. Visual Slickedit

搜索 Source Navigator 看到下面這篇文章,聊做參考

程序員要了解在linux下的幾個之最:

最有用開發語言: C/C++,Perl,Pascal.

最流行的工具集: gtk/gdk,qt,xforms

最好的可視化開發工具: glade,designer,kdeveloper

最cool的代碼閱讀工具: source navigator

最普及的調試工具: gdb, ddd

最高級(主要指價格高級)的程序跟蹤工具: BDM,ICE

最強大的開發平台: Redhat linux 7.1, Turbolinux 6.1,Hard Hat linux(HHL), Blue cat linux

最快但最年青(年青就是不成熟,吃不得)的圖形:nano-X,microwindows,minigui

部分名詞的意思:

gtk/gdk: 做 GIMP(linux很有名的圖象處理軟體的工具集

qt: trollteck公司的產品,用qt/x11跟qt/embedd

xforms: 我也不知道怎麼寫這類程序,反正是經常用到,很成熟,可以吃了

glade: 開發gtk/gdk程序的圖形工具,能完成界面的編輯(這比用VI做界面好10^n 倍,本人曾經用vi 以每天2000行程序的速度寫過gtk的應用,整整寫了一個月,後來用glade用重來,一周就完成了)

designer: 開發qt/x11程序的圖形工具,能完成界面的編輯,也可以開發qt/embedded的程序

kdeveloper: 類似VC一樣,功能強大

source navigator: redhat公司出的代碼閱讀器,supper cool.

microwindows: win32介面GUI,又小又快,用於PDA

nano-X: 多任務的microwindows

miniGUI: 類似上面兩種圖形,國產的,雖然我沒用過,但基於支持國產軟體的原則,我想絕對比nano-X及microwindows好。

知道了如上的一些東西,我們就可以決定開發的方向了:

1.對於C程序員 C + gtk/gdk + glade + 中文turbolinux

2.對於C++程序員 C++ + qt/x11 + designer + kdeveloper + 中文turbolinux

3.embedded程序員 c/c++ + qt/embedded + HHL

4.embedded愛好者 c/c++ + microwindows + HHL

5.什麼都會的天字型大小 c/c++ + qt/X11/embedded + designer + gtk/gdk +glade + source navigator + gdb + ddd + bdm + turbolinux + HHL

Linux系統中提供了許許多多的Linux 編程工具,包括:1.編輯工具、2. 編譯工具、3.軟體工具、4.開發工具包、5.項目管理工具等等,下面就是這些工具的具體說明。

1.Linux 編程工具編輯工具:在Linux下編程,你不再擁有集成化環境,你可以使用類似於EDIT的工具---經典的vi來編輯源程序。當然,還有更高檔一些的,如joe、emacs等。總之,編輯程序與編譯工作是分開的。

2. Linux 編程工具編譯工具:在Linux下支持大量的語言,有C、C++、Java、Pascal、Fortran、COBOL等等。在本講義中以C/C++語言為主。在使用這些編譯工具時,是使用命令行方式的,也就是說,你先用編輯工具輸入源程序,然後再執行一長串的命令(參數比較複雜)進行編譯。例如:gcc –o hello hello.c 就是將hello.c編譯為hello,然後你還需要為其賦予可執行的許可權,這樣你才完成了整個工作。

3.Linux 編程工具軟體工具:一個大型軟體總是由多個源程序組成的,為了能夠將大量的編譯命令作一次完成,Linux中提供了make各autoconf工具,分別用於大型軟體的編譯,和編譯前根據機器當前狀態作相應配置。

4.Linux 編程工具開發工具包:在Linux下提供了優秀的GNU C庫函數、Motif函數庫、GTK函數庫、QT函數庫等為你的編程提供大量的支持。

5.Linux 編程工具項目管理工具:在Linux下還有CVS這樣優秀的用於版本控制、管理的軟體配置管理工具。

而且,Linux作為一個自由軟體,同時來提供了大量的自由軟體,這些自由軟體不僅可執行文件自由,而且源程序也自由。你可以通過研習這些優秀的源碼來提高自己的編程技藝。

三、Linux 編程工具Linux下的編程

1. Shell編程:Shell是Linux操作系統的最外層,直接與用戶交互,負責解釋命令。就像DOS中的http://COMMAND.COM程序。Shell編程與編寫.BAT文件類似。但其提供了一整套機制,使其具有很強大的功能,所以不可小看,善於使用Shell編程可以更好地使用和管理Linux操作系統。

2. WEB編程:在Linux系統下,擁有最好、最普及的WEB伺服器Apache,還有優秀的PHP腳本語言,所以在Linux系統下的WEB編程也是很有「錢途」的技能呀。其包括PHP、JSP、Perl的開發。

3. 普通程序開發:在Linux系統中,你可以使用C/C++語言開發出高效的、高可移植性的應用程序來。

4. 用戶互動式程序:在Linux系統中,你可以使用ncursor庫來實現字元界面下的用戶互動式程序。

5. X-Win編程:在Linux系統下,有一個從UNIX系統過繼來的圖形界面系統X-Window,你可以在這裡另闢天地。這方面的開發,MOTIF函數庫、QT函數庫、KDE函數庫可以助你一臂之力。

Linux開發工具就C++開發工具而言,與Windows下微軟(VC, VS2005等)一統天下相比,Linux/Unix下C++開發,可謂五花八門,各式各樣。Emacs, vi, eclipse, anjuta,kdevelop等層出不窮。

Windows下

開發工具多以集成開發環境IDE的形式展現給最終用戶。例如,VS2005集成了編輯器,宏彙編ml,C /C++編譯器cl,資源編譯器rc,調試器,文檔生成工具, nmake。它們以集成方式提供給最終用戶,對於初學者而言十分方便。但是,這種商業模式,直接導致用戶可定製性差,不利於自動化,集成第三方工具的能力弱。例如,無法定製一些宏來處理一些重複操作;體會不到自動化makefile一步到位快感;無法遠程登錄到伺服器上進行開發;無法使用某種」粘合劑」來把第三方工具(例如,文本工具,字元串工具)有效地調用起來。可以說,良好的商業支持和傻瓜式開發,是它們主要的優點。

在linux下

Linux開發工具被切割成一個個獨立的小工具。各自處理不同的問題。例如,編輯器(emacs, vim)用來進行編輯程序的,調試器(gdb)用來調試程序,編譯器(GCC)用來編譯和鏈接程序的,性能分析工具(gcov, gprof)用來優化程序的,文檔生成器(doxygen)用來生成文檔的。同時,還有一些系統工具和系統知識,我們是很有必要了解的:程序自動化機制 makefile,系統粘合劑shell,系統查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟練掌握,它們將成為你手中的利器。

本文主要是一些針對Linux開發工具使用的經驗之談。由於,工具品種繁多,我們沒有能力也沒有必要一一介紹。對於Linux下IDE工具,例如 eclipse, anjuta等,它們雖然也很實用,但是使用起來比較簡單,而且目前還算不上主流。所以,它們將不被著重介紹。同時,本文也不打算寫成各個工具的操作手冊,只著眼於介紹各個工具的想要解決的問題、運行機理和主要特性。


Qt creator 補全非常方便 不過你要是不用c/c++就算了 原來嘗試用vim搭建ide 但補全實在蛋疼 所以索性qt creator加fake vim模式


qt creator,非常好用,提示,構建makeFile,子工程管理,很是方便。如果你做界面就更適合了。


IDE

C/C++開發,JAVA開發都用Eclipse(當然,安裝對應插件:CDT)

Python就一定要用PyCharm咯(本來也不希望用閉源的產品的,但是開源的做的不好,另外PyCharm社區版是開源的)。

NodeJS還是WebStorm

編輯器

GIthub Atom(ST也可以使用,但是需要購買)

它們都是跨平台的!


Netbeans 也挺好


用gvim寫過php python lisp


用Vim吧,FYI

將你的Vim 打造成輕巧強大的IDE

http://www.dotnetsurfers.com/blog/2016/02/08/using-vim-as-a-javascript-ide


只有c編程經驗,其他語言不太了解:

1、vim肯定是最好的,但學習曲線比較陡峭;

2、看、寫代碼可以用source-insight、調試用gdb也蠻好的;

我周圍很多同事都是這麼干;

3、eclipse貌似不錯,啥都行,就是太啰嗦;


看好eclipse


Linux,Mac下Python用Vim。

Python平時寫的東西也不長,自己更傾向用Vim就解決了,不需要IDE。

IDE在我的小破本上載入都要半天,沒事還卡一下- -。

Vim大法好。

摺疊我吧。


推薦閱讀:

Linux 平台上有哪些功能齊全完善、實用高效、設計精美的軟體?
Linux 下 zip 文件解壓亂碼如何解決?
應用程序編譯後 只能在兼容該編譯器的平台上運行 , 為什麼 windows/linux 程序可以在多個系統版本間運行?
gcc局部變數不用初始化么?
對於同樣的 C 語言代碼,為什麼 Mac OS X 上用 gcc 編譯運行的結果和其他系統不同?

TAG:Linux | 集成開發環境 |