程序員寫代碼都用什么工具?
分享一些優(yōu)秀的寫代碼工具和使用感受
大家好,我是魚皮。
俗話說的好:工欲善其事,必先利其器。一款好的開發(fā)工具對程序員來說是至關(guān)重要的,可以降低開發(fā)成本、提高開發(fā)的效率和代碼質(zhì)量。
所以今天分享一些主流的編程開發(fā)工具,基本都是我曾經(jīng)或正在使用的,附帶一些使用感受。
編程開發(fā)工具一覽
本文大綱:

本地編輯器
Notepad
其實(shí)就是 Windows 系統(tǒng)自帶的記事本啦,致敬經(jīng)典!
別小瞧記事本,其實(shí)它也能作為一款最原始最純潔的代碼編輯器來使用。比如我初學(xué)前端時(shí),就用記事本編輯網(wǎng)頁代碼,然后在保存文件時(shí)修改后綴為 .html
,雙擊就能運(yùn)行了。正因?yàn)樵?、沒有任何代碼提示和校驗(yàn)功能,所以記事本很適合培養(yǎng)新手寫代碼的規(guī)范,縮進(jìn)、代碼的正確性都要自己來保證。

Notepad++
雖然軟件名稱叫 Notepad++,但它的功能可以說比 Win 自帶的記事本高了幾個(gè)次元!
它是一款開源免費(fèi)的文本編輯器,軟件非常輕小,但卻同時(shí)支持幾十種編程語言,很適合拿來寫一些代碼片段,開發(fā)項(xiàng)目也不在話下。

Sublime Text
極其輕量、界面簡潔的文本編輯器。軟件基本能做到秒開,而且也支持安裝各種插件,功能非常強(qiáng)大!

Vim
適用于 Linux 操作系統(tǒng)的文本編輯器,這個(gè)編輯器比較 “特殊”,沒有華美的界面,操作都在小黑框框中進(jìn)行。

因此對于新手來說可能不太友好,想要自如地操作它,就要花一些時(shí)間去學(xué)習(xí)它的使用快捷鍵。可一旦上手,就會發(fā)現(xiàn)它其實(shí)很牛逼很好用很高效,而且可謂是極客們的裝 x 神器!
網(wǎng)上有一張 Vim 快捷鍵的鍵盤圖,看一下就大概知道這東西可操作性還是很強(qiáng)的。

后臺開發(fā)中,有時(shí)我們需要對 Linux 服務(wù)器上的文件進(jìn)行編輯,使用 Vim 就能直接解決了,因此多少還是要學(xué)習(xí)一點(diǎn)它的基礎(chǔ)用法。
Visual Studio Code
就是 VS Code,是微軟 2015 年發(fā)布的 免費(fèi)開源 的輕量級代碼編輯器。由于輕量、炫酷、插件豐富等特點(diǎn),使得這些年來它越發(fā)受到開發(fā)者的青睞。
首次安裝 VS Code 時(shí),它是一款簡單易用的代碼編輯器。但通過安裝各種插件,可以將其打造為適用于開發(fā)一切編程語言的強(qiáng)大 IDE(集成開發(fā)環(huán)境)。其中有一款知名的 遠(yuǎn)程開發(fā) 插件,吸引了不少開發(fā)者,大大提高開發(fā)效率。

Atom
GitHub 開源的代碼編輯器,官網(wǎng)稱其為 21 世紀(jì)的極客編輯器,特點(diǎn)是簡潔炫酷,讓人一看就想寫代碼哈哈。

和 VS Code 一樣,可以通過安裝插件來增強(qiáng) Atom 的功能,把它從代碼編輯器打造成功能豐富的 IDE。
我在大二的時(shí)候第一次接觸 Atom,就是被它的界面吸引,給我一種 “用它寫代碼會很酷” 的感覺。但實(shí)際使用后,感覺并不如 Sublime Text 輕量,而且當(dāng)時(shí)還頻繁出現(xiàn)輸入時(shí)閃退的 Bug,所以后面就一鍵卸載了。
本地 IDE
上面提到的幾款本地開發(fā)工具本質(zhì)上更像是文本編輯器,很多都已經(jīng)無法滿足(或者不太方便)復(fù)雜的企業(yè)級項(xiàng)目開發(fā),所以,為了提高開發(fā)效率,通常我們會使用包含了更多功能的 IDE。
下面幾款都是比較優(yōu)秀的本地 IDE。
JetBrains
JetBrains 全家桶系列幾乎覆蓋了所有主流編程語言的集成開發(fā)環(huán)境,是我最喜歡、最常用的開發(fā)工具了。工作中,我一般會用 IDEA 寫 Java、用 WebStorm 寫前端、PhpStorm 寫 PHP、Goland 寫 Go 語言等,還可以使用 Toolbox 集中管理這幾個(gè)軟件。

Visual Studio
微軟多年的匠心之作,官方稱其為 “面向任何開發(fā)者的同類最佳工具”。
不錯(cuò),功能的確極其強(qiáng)大且豐富,能夠支持多種編程語言的開發(fā),Android、iOS、Mac、Windows、Web 和云應(yīng)用都不在話下。但這卻是一把雙刃劍,它應(yīng)該是我認(rèn)知范圍內(nèi)最重最龐大的 IDE 了!而且因?yàn)楣δ芴啵贿m合新手使用。
這里可能有爭議,有的同學(xué)覺得 VS 是適合新手的,功能齊全、類庫自動安裝、調(diào)試很方便對吧。但有多少初學(xué)者會使用到 VS 的高級功能呢?很多新手根本不會用到的功能都被安裝了,其實(shí)是完全沒有必要的。
又有同學(xué)又說了,安裝 VS 時(shí)可以選擇安裝擴(kuò)展呀對吧?但是對新手來說,他怎么知道自己應(yīng)該安裝哪些呢?裝多了沒用,裝少了報(bào)錯(cuò)。
我們當(dāng)時(shí)學(xué) C 語言時(shí)用的是 Dev C++ 或者 Code::Blocks,也都是一鍵安裝,才 100 M 左右的軟件大小,比 VS 的首次安裝和配置可要簡單多了,而且能直接上手寫代碼。這些軟件我都用過,所以個(gè)人體驗(yàn)下來 VS 相對不適合新手。
(都用過的朋友歡迎以初學(xué)者的視角發(fā)表自己的看法,沒用過這幾款軟件的同學(xué),就請別說 VS 適合新手了謝謝,不是所有同學(xué)都能直接上手 VS 的)
時(shí)隔多年,我依然記得首次安裝和卸載 Visual Studio 的噩夢,C 盤直接爆炸!

Eclipse
以前很流行的跨平臺集成開發(fā)環(huán)境,我最開始學(xué) Java 和 PHP 編程時(shí)用的都是它,但后來發(fā)現(xiàn)無論是在界面風(fēng)格、使用體驗(yàn)、功能豐富度、插件生態(tài)等方面,都比不上 JetBrains 系列,所以我就直接拋棄了 Eclipse。

記得我在第一次實(shí)習(xí)寫 Java 的時(shí)候,我的導(dǎo)師用的就是 Eclipse,后來他發(fā)現(xiàn)我在用 JetBrains IDEA,于是就真香了,跟我一起愉快地用 IDEA 來寫代碼。
其他
除了上面這些比較通用的開發(fā)工具外,也有一些 獨(dú)角獸,專門適用于某個(gè)編程語言或技術(shù)方向。比如可以使用 HBuilder (X) 開發(fā)前端和小程序、使用 Android Studio 開發(fā)移動端 APP、使用 Dev-C++ 和 Code::Blocks 開發(fā) C++ 小項(xiàng)目、使用 Qt Creator 開發(fā) C++ 圖形界面軟件等。

Web 編輯器
除了本地開發(fā)外,還可以使用 Web 在線編輯器直接編寫和運(yùn)行小代碼,更高效!
現(xiàn)在這種技術(shù)也見怪不怪了,網(wǎng)上一搜就有一大堆的 Web 編輯器,這里推薦幾個(gè)大而全的優(yōu)秀 Web 編輯器網(wǎng)站。比如 dooccn、菜鳥教程編譯工具、JsRun 小閃電、BeJSON 等。

Web IDE
除了簡單的 Web 編輯器外,前端 Web IDE 技術(shù)非常流行,將整個(gè)本地厚重的開發(fā)環(huán)境搬上云端。使得我們可以在網(wǎng)頁中開發(fā)項(xiàng)目,甚至可以多人實(shí)時(shí)協(xié)作開發(fā)!
像 Coder、StackBlitz、Codespaces 和 Gitpod,基于 VS Code Web 版,提供了在瀏覽器上運(yùn)行的 VS Code 開發(fā)環(huán)境。
像 Codepen 和 CodeSandbox,可以靈活編寫前端代碼片段并進(jìn)行分享、多人協(xié)作。

國內(nèi)的 Coding 現(xiàn)在做的也非常不錯(cuò),不僅支持 Web 云端開發(fā),還將整個(gè)項(xiàng)目的研發(fā)流程都集成到了云端,實(shí)現(xiàn)全云端開發(fā)。

現(xiàn)在很多新興的編程語言和技術(shù)框架也都提供了 Web IDE,幫助開發(fā)者快速上手,省去搭建環(huán)境的煩惱。
比如 HarmonyOS 的在線開發(fā)體驗(yàn)環(huán)境、區(qū)塊鏈開發(fā)技術(shù) Solidity 的 IDE 等。

以上工具都放到了我的編程導(dǎo)航網(wǎng)站(www.code-nav.cn),按名稱搜索即可~
我的選擇
我在工作中一般選用 JetBrains 全家桶 + Sublime Text + Web 編輯器 + Web IDE 進(jìn)行開發(fā)。
選擇 JetBrains 作為主要項(xiàng)目開發(fā)工具,理由有 3 點(diǎn):
功能強(qiáng)大,插件豐富
知名度高,維護(hù)用心
自成體系,生態(tài)廣泛。對于一名全棧開發(fā)者,經(jīng)常要跟著項(xiàng)目需要去寫不同編程語言的代碼。而 JetBrains 全家桶基本支持所有主流編程語言,且界面風(fēng)格、工具用法、快捷鍵保持一致,降低了語言切換和工具學(xué)習(xí)成本。

當(dāng)然,JetBrains 也有缺點(diǎn),就是太重了,一般 16 G 內(nèi)存的筆記本開 2 - 3 個(gè)項(xiàng)目可能就會卡了。所以在老電腦上,有時(shí)我也會選擇更輕量的 Vs Code。
除了一款主武器外,我選擇極其輕量的 Sublime Text 作為副武器,當(dāng)我要臨時(shí)記錄或編輯一些代碼時(shí),我會把它單獨(dú)粘貼到 Sublime 的新標(biāo)簽頁,把它當(dāng)成一個(gè)靈活的備忘錄或者小剪切板。當(dāng)我要去閱讀服務(wù)器上密密麻麻的日志或 dump 文件時(shí),我也會把文件下載到本地,再用 Sublime 打開,獲得更好的閱讀體驗(yàn)。此外,Sublime 也常常被我當(dāng)做文本替換、格式化代碼工具。

為什么選擇這些本地開發(fā)工具呢?其中很重要的一點(diǎn)是它們都支持安裝插件。建議大家像我一樣,通過安裝插件來增強(qiáng)開發(fā)工具的功能,比如快捷鍵提示、代碼提示、代碼美化、代碼檢測、代碼生成、代碼小地圖等。
想要做到真正高效,光有本地的工具是不夠的。我們在工作中經(jīng)常會編寫一些小腳本,在保證安全性的前提下,我會選擇直接找一個(gè)可在線編輯和運(yùn)行代碼的 Web 編輯器,上面提到的那些都可以。
在我需要快速學(xué)習(xí)或體驗(yàn)一門新技術(shù)時(shí),一般直接使用官方自帶的 Web IDE 來練手,省去了搭建環(huán)境的麻煩。
建議大家也利用好 Web 在線開發(fā)工具,尤其是在初學(xué)編程時(shí),直接在線上手寫代碼更容易提起對編程的興趣,才能堅(jiān)持學(xué)習(xí)下去,千萬不要被一些復(fù)雜的環(huán)境搭建過程直接勸退了!
以上工具都放到了我的編程導(dǎo)航網(wǎng)站(www.code-nav.cn),按名稱搜索即可~
最后,除了選擇好的開發(fā)工具,熟練使用開發(fā)工具也是優(yōu)秀程序員的必備技能。持續(xù)寫代碼、持續(xù)探索工具的妙用,提高你的編程效率吧。
最后再送大家一些 幫助我拿到大廠 offer 的學(xué)習(xí)資料:
指路:https://t.1yb.co/qOJG
歡迎閱讀 我從 0 自學(xué)進(jìn)入騰訊的編程學(xué)習(xí)、實(shí)習(xí)、求職、考證、寫書經(jīng)歷,不再迷茫!
指路:https://t.1yb.co/w66s
那么你心目中最好的開發(fā)工具是什么呢?
我是魚皮,點(diǎn)贊 還是要求一下的,祝大家都能心想事成、發(fā)大財(cái)、行大運(yùn)。
