做爲一個從事 Java 開發的程序員,天天離不開編輯器的幫助。還記得剛開始學習 Java 編程的時候,使用 Eclipse 做爲平常開發工具。後來工做之後,須要使用 Intellij IDEA,剛開始其實並不想怎麼用。畢竟 Eclipse 已經足夠強大,能夠知足平常開發的需求,何須再花時間再去學習其餘工具那。剛開始改變是困難的。可是沒辦法,公司強制使用,不得不去了解去使用。後來用了一段時間才發現 IDEA 是的真的強大。git
真香啊~程序員
下面就來介紹一下本人以爲 IDEA 一些強大的功能。github
文中提到的快捷鍵只適用於 Windows 平臺
咱們使用編輯器的目的就是在於簡化開發難度,加快開發速度。IDEA 就有許多功能,能夠更加智能的、更加快速的幫你完成代碼開發。apache
下面先介紹最基本的代碼提示功能。編程
通常編輯器都會提供基本提示功能,能夠快速提供可用的方法,變量等。固然 IDEA 也存在這個,在 IDEA 中使用 Ctrl + Space
能夠快速提示。緩存
PS:對於 Windows 平臺用戶,這個快捷鍵十分不友好,與輸入法切換快捷鍵衝突,可使用以下方法解決。微信
一、 打開註冊表,跳轉到HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys目錄下面
2.、選擇00000070(中文繁體)或者00000010(中文簡體)
3.、將Key Modifiers的第一個字節設置爲00(02c00000->00c00000)
四、 將Virtual Key的第一個字節設置爲ff(20000000->ff000000)
五、 註銷用戶而後從新登陸,搞定。
另外 HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys,保存的是當前用戶的快捷鍵配置;
HKEY_USERS.DEFAULTControl PanelInput MethodHot Keys,保存的是默認的快捷鍵配置;
若修改上一個註冊表很差使,那就把下面的默認的也修改了。
經測試,修改第一個,重啓以後再也不生效,因此默認配置也須要修改。
除了最基本的代碼提示功能,IDEA 還提供更加智能的代碼提示功能,該功能能夠基於上下文環境,智能幫你過濾可使用方法,推導出最適合的方法。該快捷鍵爲 Ctrl+Shift+Space
。編輯器
咱們用下面兩張圖比對二者的區別。工具
基本提示功能:post
智能代碼提示:
觀察上面兩圖能夠看出,基本代碼提示功能會顯示全部可用的方法建議,而智能代碼提示根據上下文過濾了其餘不可用的提示。
當一個方法參數列表過多時,咱們每每只會記住前兩個參數類型,然後面參數類型咱們只能去翻閱方法才。在 IDEA 中,你無需這般作。只要你將光標放置在放入參數列表中,暫停一會,IDEA 就會幫你智能提示。
若是並不想等待一會,也能夠,在方法內使用 ctrl +P
也能夠快速出現提示框。
在 IDEA 中,可使用快捷鍵 Ctrl+Shift+Enter
快速完成聲明 if while
等語句。
在下面的例子中,咱們輸入 while
,接着咱們輸入快捷鍵,咱們能夠看到 IDEA 自動幫咱們完整這個結構,而後只須要輸入判斷條件便可。
此外,咱們還能夠用該快捷鍵完成下面的操做。
這個模式能夠在編寫代碼時減小向後插入符號跳轉。咱們能夠在變量後面直接跟上 if
、for
等表達式,IDEA 會直接轉換成相應的語句。
咱們還能夠查看在設置中 Editor | General | Postfix Completion
查看更多用法。
咱們有時候會保存一些代碼片斷,而後在須要的時候直接粘貼。而 IDEA Live Template
就能夠幫咱們保存這個代碼片斷,且能夠自定義關鍵字,須要的時候只須要輸入關鍵字,就能夠直接輸出代碼。並且 IDEA 也已經定義不少,咱們能夠直接上手使用。
如上圖,咱們能夠輸入 psfs
,而後輸入回車鍵或者 Tab
鍵,直接生成 public static final String
。
輸入 psvm
,快速生成 main
方法。
咱們可使用下面的步驟自定義本身的 Live Template
。
開發的時候咱們會去查看類的源碼,有時咱們只知道類的名字,殊不知道具體包的位置,這個時候IDEA 強大的搜索功能能夠幫咱們迅速的找到。
咱們能夠按兩下 shift
,在彈出的窗口輸入類名,就能夠找到。
這個功能不只能夠找類,也能夠用於找文件等。
還有的時候咱們可能只記得類中的某個關鍵字,那上面的方法就無效。可是不要緊,IDEA 還能夠幫你用關鍵字去搜索找到
咱們只要輸入 Ctrl+Alt+F
快捷鍵。
在團隊開發中,咱們就須要使用到相關版本控制工具,好比 SVN、Git 等。IDEA 默認自帶強大版本控制工具,能夠快速瀏覽代碼變動,倉庫提交歷史以及合併代碼。
咱們以 Dubbo Git 項目爲例。咱們能夠在 Version Control Log 處圖形化查看倉庫歷史。
協做開發的時候,很容易發生衝突,這個時候若是沒有其餘很好的工具,解決衝突是一件很麻煩的事,很是容易將代碼合丟。
不過使用 IDEA 強大的解決衝突的功能,能夠幫咱們解決這個問題。
當提交代碼時,若存在代碼衝突時,IDEA 顯示衝突的文件.
點擊文件,選擇 Merge, 而後會顯示窗口,咱們能夠瀏覽兩邊代碼,本身靈活選擇到底選擇本地變動或者服務端的變動。
這裏說個小技巧,咱們協做開發時,如有些人使用 TAB
做爲縮進而後提交代碼,而當你使用空格做爲縮進,一旦將代碼格式化,你提交代碼的時候,這個時候衝突就會是個在災難。以下所示.
這樣滿屏充滿干擾的變動的時候,很容易合錯代碼。
。。。。
。。。。
咱們選擇忽略空白行,IDEA 會把這種自動或略空白行,這樣咱們就能夠針對本身變動合併便可。
咱們編碼的時候有可能會寫錯單詞,寫錯並不可怕,怕的是你到最後才發現。這個時候你發現許多地方都用到這個,這個時候你在一個個變動就真的很費勁了。
不用怕,IDEA 重構功能就能夠幫助到咱們。
IDEA 重命名功能能夠快速幫修改全部引用這個變量的地方。
重構功能還能夠快速提取方法。
IDEA 安裝時就會集成不少官方插件,增長對其餘技術,語言的支持。你若是不喜歡,能夠根據本身的選擇在 Setting/Plugins
自由選擇啓動或禁用。
你還能夠在官方的插件平臺 https://plugins.jetbrains.com/找到一些第三方很是優秀的插件,實現其餘擴展功能,如翻譯。
IDEA 自帶兩套很是漂亮的主題。一套爲亮色的,另外一套爲暗色的。
我的以爲暗色系列的主題,更加好看,且不刺眼。
若是不喜歡自帶的主題,能夠自定義,或者下載主題插件,如 Material Theme UI
。
IDEA 迭代更新速度較快,基本每半年就會有一個大版本更新,以及時常會有一些小版本更新。每次更新之後都會一些新功能。
上面說了這麼多 IDEA 功能,也講講一些 IDEA 的缺點。
IDEA 不少強大的功能都是基於其緩存與索引。當打開一個新項目的時候,IDEA 會自動創建索引。這個有時候對大型項目特別不友好,可能會出現卡頓現象。特別對於機械硬盤用戶,這種現象會更加明顯。
所以強烈建議 IDEA 建立索引的時候不要動項目,等待建立完畢便可。
還有一點就是 IDEA 中沒有相似 Eclipse 中的 workspace 的概念,沒法作到一個 IDEA 工程打開多個項目。這是剛從 Eclipse 轉過來同窗困惑的地方。不過等你真正熟悉 IDEA,真的須要 workspace 嗎?
上面介紹 IDEA 這麼多功能,沒有在使用的讀者們,不妨下載使用看看。剛開始從其餘編輯器轉過來確實很難,可是一旦你喜歡上 IDEA,你就不會釋手了。
IDEA 還有其餘不少功能,一篇文章不能所有都說到,各位讀者能夠自行去探索。博主每次研究 IDEA 的功能時,都能發現一些之前不知道的技巧。
若是以爲好的話,請幫做者點個讚唄~ 謝謝
喜歡本文的讀者們,歡迎長按關注訂閱號程序通事~讓我與你分享程序那些事。