當前位置:
首頁 > 科技 > 文本編輯器的實用技巧和經驗分享

文本編輯器的實用技巧和經驗分享

我想和你們分享我學到的這些關於文本編輯的技巧和竅門!

這不是一篇關於你應該使用哪個文本編輯器的文章。我分享一些這些天我使用過的編輯器的示例(Mac 系統上的 Sublime Text )—— 但很多文本編輯器是可定製的。這就意味著這些技巧&竅門中的很多都可以在你的編輯器中設置(我很想在評論里看到解釋該怎麼做)。讓我們拋開「這個工具是最好的」的話題,只是學習怎樣讓我們的工具更好的幫助我們。

自動檢測你的代碼

檢測器可以讓代碼更清晰,更容易閱讀,和更找到錯誤。有時我在完成一些改變後,運行檢測器,或者在 GitHub上 打開一個 pull 請求後,讓檢測器在線運行。但是當檢測器運行時,我寫檢測通過的代碼變的更快了....就像我在寫我的代碼。我不僅停止了在提交代碼之前幾分鐘枯燥的調整,還訓練我自己在事情發生之前就解決問題的習慣。

上圖的檢測器告訴我:一個變數沒有定義,我丟失了一個冒號

80個字元規則

許多風格指南都有武斷的規則,如一行最多是80個字元長度(或者100,或其它什麼的)。大多數的文本編輯器,當你不管輸入什麼,達到限制時,會增加一條小線來提示你。

在 Sublime Text ,你可以從 View > Ruler 開啟該功能


自動符合一些空格約定

許多風格指南偏向於在文件結尾處沒有空格,和在每個文件的結尾有一個新行。平常很難記住要這樣做,但幸好我的文本編輯器能幫我做這些!Sublime 在它的用戶設置中有 「ensure_newline_at_eof_on_save」 和 「trim_trailing_white_space_on_save」。


在整個代碼庫中查找(並替換)

當我處理一個代碼庫中的許多文件時,在裡面搜索可以看到所有被使用或被引用的地方 ( MacOS 的 Sublime 用 shift F ),這非常好。可以選擇在特定的文件夾或文件類型中進行搜索,這非常棒。有時候我覺得打開/關閉區分大小寫或使用正則表達式是很有幫助的--儘管我不經常使用這些功能。

快速地找到函數的定義

當然,我可以在代碼庫中搜索函數名,找到它的定義,然後弄清楚它是如何工作的。但是如果能更快地達到目的,不是更好嗎?

右擊, goto definition , 然後……

結果就出來了。


快速查找文件

我經常需要查找並打開一個文件,但並不記得它在代碼庫的精確位置。所以我希望能夠在查找欄中輸入文件名,且能看到我正查找的所有可能(符合)的文件,讓我快速地打開新的文件。我喜歡靈活的搜索輸入所帶來的額外益處。我甚至可以弄一堆的拼寫錯誤或刪掉文件名的一部分,Sublime 依然可以知道我想要什麼!(我敢打賭這搜索演算法背後通常被稱為「模糊搜索」的技術,是相當有趣的!)

在 Sublime Text, 你可以用

P調出這個搜索欄

上、下移動行

我以前經常用選中+複製+粘貼,為將一行代碼(或整個函數)移到另一行下面。從那時起,我就想出了如何用快捷方式上下移動行的方法了。這雖是一個小小的變化,但它讓我感覺好多了(有點像三個手指的拖動感覺)。

MacOS 的 Sublime Text 可使用 control+ + up/down


語法高亮顯示

語法高亮顯示使閱讀和掃描(掃視、快速地瀏覽)代碼更容易。而且有助於在碼字時發現有錯誤--如果它看起來顏色不太對勁,它可能是一個錯誤。

有時語法默認為高亮顯示的,有時只有某些語言/技術在你的默認設置里。當我得到一台新的工作筆記本,我知道我需要去安裝一個包才能得到 jsx 的語法高亮。然而,在處理許多 jsx 文件時,我仍然拖了好幾個月的時間(都還沒安裝)。最後我花了一分鐘安裝了它,事情變得更好了。

為 React .jsx 文件添加語法高亮的前後對比

最後,如果你在你的工作流程中有使用到 git ,你可以在你的文本編輯器中添加一些支持來告訴你一些 git 相關的東西。我喜歡看到的一件事就是從我上次提交以來所增加/刪除/修改的行(一個輕量級的 git diff )。我有時也使用工具(糟糕的名字 git blame ,找背鍋的)去查看是誰最後在文件中更改了一行。

標記顯示

在左邊要感謝 gitgutter 包

最後

你的文本編輯器可以為你做很多很酷的事情! 也有助於更高效,更開心地工作。

別忘了點贊+轉發哦!

希望這些提示和技巧能令你興奮或幫到你!

希望看到你們來說說看喜歡使用哪些文本編輯器哪種功能。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 WEB開發李家靖 的精彩文章:

前端開發工程師必備系列-3步走帶你Debug

TAG:WEB開發李家靖 |