1. 程式人生 > >妙用 Intellij IDEA 建立臨時檔案,Git 跟蹤不到的那種

妙用 Intellij IDEA 建立臨時檔案,Git 跟蹤不到的那種

| **好看請贊,養成習慣** > - 你有一個思想,我有一個思想,我們交換後,一個人就有兩個思想 > > - If you can NOT explain it simply, you do NOT understand it well enough 現陸續將Demo程式碼和技術文章整理在一起 [Github實踐精選](https://github.com/FraserYu/learnings) ,方便大家閱讀檢視,本文同樣收錄在此,覺得不錯,還請Star --- 多數人對於 Intellij IDEA 可能始於其「顏值」,終於其「才華」,外加各種外掛 buff 的加成,coding 的節奏分分鐘要暴走 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131141980-1996071453.png) 拋開自己安裝的外掛,IDEA 其實也內秀的很,在 [IntelliJ IDEA HTTP Client高階使用詳解](https://dayarch.top/p/http-client-advanced-usage.html) 中詳細的介紹了開發小組內放棄 Postman 的理由,用過的小夥伴後臺留言直呼爽。 但今天要介紹的是另外一個秀的有些含蓄的小功能,她那麼顯眼的站在你面前,你卻選擇忽視她 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131142286-387399428.png) 有時候我們需要在專案之外建立一些臨時檔案或一些實驗性程式碼,建立在專案中可能一不小心 Git 誤提交,不建立專案裡又需要切換到其他應用上來回拷貝,對於專注 coding 的我們來說,總顯得不夠流暢 IDEA 其實早已為我們解決了這個痛點,藉助 Scratch files 和 Scratch buffers 就可以解決 ## Scratch files | Scratch buffers IDEA 會在專案平行目錄中自動生成下面的目錄結構,這就是今天主角的位置,你有正視過她們嗎? ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131142628-1088856981.png) Scratch files 和 Scratch buffers 二者還是有很大差別的: ### Scratch files Scratch files 是一種功能完整的、可執行的和可除錯的檔案,支援語法高亮顯示、程式碼補全和相應檔案型別的所有其他特性 (說白了很像Jupyter Notebooks) Scratch file 的功能,就可以滿足我們在 Coding 中的各種想法,用於快速記錄。建立好的這個檔案並不儲存在我們的專案目錄中(避免了意外 git push 的尷尬),甚至在 IDEA 中切換到其他專案中也可以看到你剛剛建立的這個檔案,進一步說白一點,這是凌駕在專案之上的一個全域性功能,如下圖,切換到了其他專案中,Scratch files 依舊存在 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131142908-91397237.png) 建立一個 Scratch file 很簡單,使用快捷鍵 `⇧⌘N` ,支援關鍵字搜尋,直接建立相應型別的檔案就可以,比如這裡建立一個 java 檔案 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131143167-1903720773.png) 預設會建立名為 Scratch.java 的檔案,並寫好 main 函式,就像這樣: ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131143348-674416324.png) 在這裡和你正常在專案中寫 java 程式碼沒什麼區別,你可以使用 `git status` 命令來驗證,結果是 Git 完全不 track 的,放心的建立臨時檔案就好了 其實我很常用的是建立一個 scratch.sql 檔案,存放一些日常 SQL 語句,同樣的建立方式,搜尋 `sql` 預設會建立一個 scratch.sql 的檔案,檔案建立之後要配置資料來源 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131144305-1595913408.png) 配置好後,就可以盡情的書寫你日常用到的 SQL 了 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131145072-280047261.png) 游標放到 SQL 位置,使用快捷鍵 `⌘⏎` ,選擇相應的 Session (會話) 就可以 run 這條 SQL 語句了 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131145554-654958884.png) 執行後,就看到你熟悉的畫面了,因為這裡的畫面就是 IDEA 預設的資料庫管理工具,這篇 [IntelliJ IDEA的資料庫管理工具實在太方便了](https://mp.weixin.qq.com/s/SmjBdZAMynTndU_oTITd8Q) 文章中有過詳細說明 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131146052-655079599.png) 建立 Scratch files 可選擇的型別非常多,總有一個適合你的一些需要 ### Scratch buffers 和 Scratch files 類似,只不過 Scratch buffers 就是一個簡單的文字檔案,沒有任何編碼輔助功能 (說白了,可以將它理解成一個記事本),建立 Scratch buffers 沒有直接的快捷鍵,需要用通用快捷鍵 `⇧⌘A` ,並輸入關鍵字(比如 buffer): ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131146485-2003080640.png) 敲擊回車鍵,就會建立好一個名為 scratch.txt 的文字檔案。**反覆建立 Scratch buffers,你會發現,最多隻允許建立 5 個**: ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131146815-208435413.png) 因為這個操作不頻繁,所以也就沒有預設快捷鍵,如果你是個快捷鍵強迫症患者,那就在 KeyMap 處新增相應的快捷鍵就可以了 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131147252-1400278096.png) 這裡要說明一個**注意事項**: > 如果你在 buffer1.txt 檔案中記錄了一些內容,當你建立第 6 次 scratch buffer 檔案時,buffer1.txt 的內容就會被清空 別看 Scratch files 和 Scratch buffers 不會被 Git 跟蹤,但是同樣可以通過滑鼠右鍵檢視 Local History 來檢視過往所有改動 ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131147707-1211862712.jpg) 減少應用切換,儘量保持專注,可以藉助預覽模式(ctrl+opt+v) 和 快捷鍵 (cmd+e)切換最近常用檔案,戴上耳機,快告訴我,時速多少邁? ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131148628-2059746534.png) ## 總結 這是一個很小的功能,但是在日常開發中真的可以帶來很大的幫助: - 跨越專案的訪問 - 不被 Git 所跟蹤,防止誤提交 - 可以臨時測試各種語言的程式碼 最後配合預覽模式的使用,減少應用之間的切換,一切顯得都很流暢 > 當然,保持 Code Clean,減少猜測和回憶時間,我們最好給我們建立的 Scratch files 和 Scratch buffers 更友好的檔名稱 [個人部落格:https://dayarch.top](https://dayarch.top) [加我微信好友](https://mp.weixin.qq.com/s/G7BXuZh0Qh1-mE6ts4LJqQ), 進群娛樂學習交流,備註「進群」 > ### 歡迎持續關注公眾號:「日拱一兵」 > - 前沿 Java 技術乾貨分享 > - 高效工具彙總 | 回覆「工具」 > - 面試問題分析與解答 > - 技術資料領取 | 回覆「資料」 > 以讀偵探小說思維輕鬆趣味學習 Java 技術棧相關知識,本著將複雜問題簡單化,抽象問題具體化和圖形化原則逐步分解技術問題,技術持續更新,請持續關注...... --- ![](https://img2020.cnblogs.com/other/1583165/202011/1583165-20201105131151370-1912987