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

itread01 2020-11-06 01:35:36
妙用 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
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://www.itread01.com/content/1604563622.html

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云