Intellij Idea 2017編輯器詳解
編輯器總覽
基礎
在建立和修改程式碼的時候,編輯器是是否有用的工具。所有的其他的編輯器也都支援書籤,斷點,語法高亮,程式碼提示,Zooming,程式碼摺疊等。 當然這裡還有很多諸如巨集指令,高亮TODO,程式碼分析、事件、快捷智慧導航的高階特性。可以使用setting中的editor配置編輯器環境。也可以通過ctrl+~的方式選擇更改樣式、主題、快捷鍵等。 這個編輯器是基本的,所有的語境選單上的操作都是可用的。當然你也可以通過Window | Editor tabs上的節點來操作。
活動編輯器
當你開啟一個檔案編輯的時候,他開啟在一個自己的標籤中,你當前正在工作的編輯器,就是活動編輯器。你可以使用View | Active Editor節點下的命令來改變其行為。
編輯區域
- 編輯區 使用此區域來編輯和分類你的原始碼。編輯器提供了很多的程式碼輔助工具。具體我們在後續章節講解。
- 邊欄區域 左邊欄提供了關於你程式碼的輔助資訊,並展示識別出的各種各樣的圖示(程式碼結構,斷點,書籤,指示器,變動人,程式碼摺疊)。當然你可以從左側邊欄改變其行為。 可以使用setting|editor|apperance或者 Editor Gutter Popup Menu預設情況下,此事件沒有繫結快捷鍵,你可以在快捷鍵中設定自己的。
-
智慧提示彈窗 這是一個鍵輔助特性(支援方法名,函式,標籤或者其他的)。
-
文件標籤 可以依據此在多個文件間快速切換,也可以使用Alt+Right or Alt+Left切換。 當你按住ctrl的時候點選標籤,會顯示檔案導航資訊,你也可以用資源管理器開啟所在位置。
同時也提供瞭如下集中語境選單(後續會有)
- 關閉一個或多個標籤
- 固定活動標籤
- 分屏和取消分屏
- 標籤組管理
- 標籤間導航
- 新增到收藏夾
- 移動改變
- 執行和除錯活動編輯器
- 執行本地歷史和版本控制命令
- 執行自定義工具命令 預設情況下,標籤展示在最上面,不過你可以設定。
-
側邊校驗欄和標記欄 在編輯器右側的欄,展示綠色,紅色,黃色框,代表ok,error,warn。你可以通過點選它快速定位到對應的程式碼。
編輯器基礎
在編輯器中選擇文字
基礎
基礎的方式是通過滑鼠進行文字的選擇。在IDEA中提供了快捷鍵的支援。 你可以選擇部分文字或者矩形程式碼片段,使用多選擇或者粘性選擇模式擴充套件和收縮選擇。
選擇編輯器中的所有文字
有如下兩種方式:
- 主選單中選擇 Edit | Select All
- 使用ctrl+a 快捷鍵
使用定位鍵
選擇當前容器位置的字元開始和結束的文字
- Ctrl+Shift+Left, Ctrl+Shift+Right. 選擇當前容器位置的字元所在行開始和結束的文字
- 雙擊Ctrl+home/end
選擇當前容器位置的頭部和尾部為本
- Ctrl+Shift+Page Up, Ctrl+Shift+Page Down
選擇程式碼的替代方案
選擇一欄文字,可以做下面的操作:
- 保持alt鍵不鬆,然後滑鼠左鍵選擇文字
- 鬆掉左鍵 按滑鼠中鍵
- 按鍵 shift(alt全程不鬆),拖動文字到指定位置。有時候這是非常有用的。
擴大選擇
擴大選擇編輯器中的文字,可以按如下兩種方式
- 通過選擇Edit | Extend Selection
- 通過ctrl+w快捷鍵 選擇 通過上述方式可以快速選擇游標位置的文字(可以是註釋、方法、文字等),再次按擴大文字範圍,直到文件全部被選擇。
縮小選擇
縮小選擇是配合上邊的擴大選擇使用的,可以按如下兩種方式
- 通過選擇Edit | shrink Selection
- 通過ctrl+shift+w快捷鍵 選擇
多選擇
Intellij Idea支援多文字片段選擇。所以你可以選擇多個字元,行,或者矩形。
多個單詞選擇方式,按如下步驟:
- 按鍵shift+alt,雙擊滑鼠左鍵選擇相關單詞
- 按鍵alt+J,或者選擇文字後,再次alt+J,可以查詢到所有匹配的文字(比如選擇的文字是username,會匹配到其他的username(按鍵一次匹配一個)),在修改過變數名的時候挺有用的。
選擇之後,你就可以編輯你選擇的內容了。
選擇多個文字段:
- 按Shift+Alt
- 使用滑鼠左鍵選擇想要操作的區域。
多個矩陣選擇:
行列模式切換
主要有以下幾種:
- 主選單選擇,Edit | Column Selection Mode
- 語境選單選擇 Column Selection Mode
- 按鍵Shift+Alt+Insert 主要是對多行選擇內容的區別(列模式是矩陣)
粘性選擇
切換到此模式,可以通過Ctrl+Shift+A的方式,鍵入sticky,選擇下圖的事件即可。
要訣和技巧
如果粘性開啟,你可以通過執行復制,剪下或者esc來退出此模式。或者重新執行上述事件。 你也可以先選擇多行,然後執行Shift+Alt+Insert來切換到列模式。
複製貼上剪貼
Intellij Idea提供了一系列的剪下版操作項。你可以複製貼上剪貼文字、檔案路徑、符號、程式碼行。
因為idea使用了系統貼上板,所以你可以跨應用使用複製貼上。當貼上貼上板時,Intellij idea會移除文字或者特殊字元的格式化。
貼上(你要插入的)命令很好理解。如果你要貼上一個符號,他會自動分析匯入和關聯等。Intellij Idea 提供了強制型別和何時的切入點。正常的貼上只是純文字,沒有分析功能的。
idea允許堆積貼上板,這就意味著你可以儲存多個,預設是五個,可以 Editor | General中設定
複製選擇的文字
主要有以下幾種:
複製檔案路徑
- 主選單選擇 Edit | Copy Path,或者Ctrl+Shift+C
- 或者在專案工具窗中選擇對應的檔案,右鍵 Copy Path 即可
複製行和符號的關聯
首先,找到你要操作的程式碼塊。
剪貼文字片段
首先選擇你想要剪貼的內容,然後如下操作:
從貼上板貼上最後一個內容
首先選擇貼上位置,然後如下操作:
這種方式,在java中會自動匯入依賴(如果你配置了auto import)。
從貼上板貼上最後一個內容為純文字
- 主選單 Edit | Paste Simple.
- Ctrl+Shift+Alt+V
從貼上板中選擇特定版本
- 主選單 Edit | Paste from History 或者快捷鍵 Ctrl+Shift+V
- 從彈窗的列表中選擇你需要的版本(參照上圖)。
跨idea複製貼上
此處內容比較簡單,這裡大概描述下即可 主要是使用ctrl+c/v/x進行操作,即可在idea之間,系統間進行復制、貼上、剪貼操作 不同的是,可以之間拖拽檔案進行移動,ctrl+拖拽進行復制檔案
註釋和取消註釋程式碼塊
基礎
你可以註釋或取消註釋當前行或者選擇的程式碼。註釋特性對所有檔案型別都適合。
配置註釋行為
一般情況下,idea的註釋(比如//)是在行頭的。如果你想改變的話,可以開啟settings對話方塊,選擇 Code Style | Java,點選 Code Generation標籤。
清除之後,註釋就在程式碼前邊,而非行頭
註釋/取消註釋行程式碼
可以有以下幾種方式:
- 主選單選擇:Code | Comment with Line Comment.
- ctrl+/
註釋/取消註釋行程式碼塊
可以有以下幾種方式:
撤消和重做變化
基礎
撤銷命令丟棄當前檔案的最後一次更改。重做命令則是丟棄最後一次撤銷命令。 在必要的時候,你可以使用撤銷和重做命令。idea關閉時,這些改變歷史會丟失。
以下幾種情況都會觸發記錄歷史操作:
- 按鍵 enter
- 游標位置發生變化
- 使用導航快捷鍵
- 複製、貼上
- 按鍵 tab
idea擴充套件撤銷和重做機制已完成複雜的操作。比如:格式化和重構程式碼,建立和刪除檔案。
撤銷和重做更改
- 撤銷
- 主選單選擇 Edit | Undo.
- ctrl+z
- 重做
- 主選單選擇 Edit | Redo.
- Ctrl+Shift+Z
在編輯器中開啟或者重新開啟檔案
編輯器中開啟檔案
- 有如下幾種方式
- 在工具窗中雙擊你要開啟的檔案
- 在工具窗中選擇你要開啟的檔案,按F4
- 在工具窗中選擇你要開啟的檔案,右鍵Jump to Source
- 使用導航命令(class,檔案,符號,比如shift+shifit)
-
如果檔案型別已經在idea中註冊,會優先靜默使用idea開啟。
如果檔案型別註冊在類目下,則會有相關聯的程式開啟(比如doc,pdf等)。
如果檔案型別未知,idea會建議你去註冊一個型別。可以通過 Register New File Type Association 窗就行配置。具體是在Settings/Preferences, File Types 中設定。
idea預設限制了檔案的大小。預設是有bin目錄中的idea.properties中的idea.max.intellisense.filesize控制,一般不建議直接修改此檔案。如果想更改檔案的最大大小,可以如下配置。
- Windows: 在 %USERPROFILE%.IntelliJIdeaXX or %USERPROFILE%.IdeaICXX目錄下建立idea.properties檔案,設定上述屬性即可
- *NIX: 在 ~/.IntelliJIdeaXX or ~/.IdeaICXX目錄下建立idea.properties檔案,設定上述屬性即可
- macOS: 在 ~/Library/Preferences/IntelliJIdeaXX or ~/Library/Preferences/IdeaICXX目錄下建立idea.properties檔案,設定上述屬性即可
開啟外部檔案
有以下幾種方式:
- 主選單選擇 File | Open ,在對話方塊中選擇你想要開啟的外部檔案。
- 直接從外部系統中拖拽檔案到編輯器中即可。
重新開啟檔案
- 從主選單選擇 View | Recent Files或者ctrl+E。從類似下面的彈出式窗體中選擇你要開啟的檔案即可
- 如果你想開啟最近更改過的檔案,可以從主選單選擇View | Recently Changed Files 或者按鍵Ctrl+Shift+E。 從彈出的選單中選擇你想開啟的檔案即可。
在單獨的窗體中開啟檔案
有以下幾種方式:
- 拖拽已經在編輯器中開啟的標籤到ide外部即可
- 在工具窗(project)中,選中你要開啟的檔案,shift+雙擊滑鼠左鍵即可。
在編輯器中關閉檔案
idea提供了以下幾種關閉檔案的方式
- 從主選單選擇 Window | Editor Tabs,然後選擇合適的命令。
- 右鍵編輯窗 可以得到上述相同的命令選單
- 滑鼠移動到你想要操作的標籤上,按住shift,然後左鍵即可關閉
- 滑鼠移動到你想要操作的標籤上 點選x號即可
- ctrl+f4
鏡頭模式
當我們的游標移動到側邊欄的警告、錯誤、資訊上時,會出現一個小窗體。這個窗體就是鏡頭模式。 ,窗體內展示錯誤、警告的程式碼片段。
多游標
基礎
idea支援多插入符號操作。有些專業的事件,比如鍵導航,文字插入和刪除等待。當然活動模組和自動完成也是支援的。
大多數情況下,我們只關注那些近期新增的字元。高亮只適用於插入符號的字元所在行
同時,此功能依賴下面兩項:
- column selection mode 是否開啟。
- placement of caret after the end of line(settings|editor|general) 是否開啟。
新增 退出 克隆
新增
- 按鍵Shift+Alt並左鍵
- 兩次Ctrl (Windows or UNIX)/Alt(macOS) ,並且不釋放按鍵,可以上下操作
新的符號可以新增在特殊位置(比如行末後的位置),可以在Allow placement of caret after end of line配置(個人覺得沒啥卵用)
退出
- 按鍵esc即可退出此模式(所有)
- 按鍵alt+shift,然後左鍵再次選擇你選過的位置即可退出(單個)
克隆
預設情況下是沒有繫結快捷鍵,不過你可以去快捷鍵裡面配置。
複製和貼上
使用ctrl+c和ctrl+v即可將選擇的多文字複製和貼上。
新增到收藏夾
你可以講一些需要的條目分組到收藏夾中,以便可以快速的通過收藏夾工具窗定位。
你可以通過下面的方式進行收藏:
- 開啟你需要的檔案或者在project工具窗中選擇1個或者多個條目
-
如果你已經有收藏列表 選擇對應的即可,如果沒有則可以 Add to New Favorites List,然後設定列表名。
儲存和還原更改
使用idea的話你不用擔心檔案的儲存問題,idea會自動幫你儲存的。
你不需要關心改變,idea會自動幫你在本地儲存版本,你可以還原到上一個版本。
什麼時候idea儲存變化?
- 編譯專案,module,class
- 啟動執行或者除錯配置
- 執行版本控制操作 比如pull commit或者push等等
- 關閉檔案
- 關閉專案
- 退出ide
調整自動儲存行為
在(File | Settings | Appearance and Behavior | System Settings)可以調整自動儲存行為。
使用save all 命令
- File | Save All
- Ctrl+S
標示沒有儲存的檔案
如果你想標示還沒有自動儲存的檔案,可以在File | Settings | Editor | General | Editor Tabs中啟用 Mark modified tabs with asterisk選項。效果如下圖
檔案另存為一個名字
idea中沒有file|save as命令。不過你可以通過Refactor | Copy 或者 F5來實現。
還原變化
你可以通過Edit | Undo 或者 Ctrl+Z。當然你也可以通過 Local History來操作。
Zoom
啟用編輯器字型改變功能
- 開啟Settings/Preferences,展開editor節點
- 確保Change font size (Zoom) with Ctrl+MouseWheel開啟。
使用滑鼠改變字型
- 進入編輯器 2.按住ctrl 滾動滑鼠滾輪即可
使用鍵盤改變字型
1.按ctrl+shift+a 2.在對話方塊中輸入Increase font size 或者 Decrease font size 即可放大或者縮小字型。
重置為預設
1.按ctrl+shift+a 2.在對話方塊中輸入Reset font size,回車即可重置為預設字型大小。
編輯器高階
格式化原始碼
概述
idea使你格式化程式碼為你想要的樣式。idea將佈局空格、縮排、單詞等。選擇文字、整個檔案、整個專案都適用格式化。
格式化程式碼
如果你想格式化一個資料夾,按以下幾步:
- 在專案工具窗體中選擇一個你想要應用格式化的module或者資料夾。
- 從主選單選擇Code | Reformat Code或者按鍵 Ctrl+Alt+L。或者右鍵 Reformat Code.
- 在 Reformat Code對話方塊中配置選項後,然後run。
格式化當前檔案程式碼
1.在開啟的檔案中按鍵Ctrl+Shift+Alt+L。注意:如果你選擇主選單的Code | Reformat Code或者Ctrl+Alt+L,idea會自動幫你格式化(不用開啟格式化對話方塊)
- 在開啟的對話方塊中選擇選項,點選run
當格式化的時候跳過某個區域
如果你想保留某一部分的程式碼格式,按下面幾步:
- 在區域開始出,使用ctrl+/ 跟隨@formatter:off
- 在區域結束處,使用ctrl+/ 跟隨@formatter:on
- 執行格式化命令。
當然你也可以建立一個live template來環繞程式碼,實現類似上面的功能。
格式化示例
正常程式碼 | 格式化後的程式碼 |
---|---|
縮排
文字片段縮排
- 主選單選擇 Edit | Indent Selection / Edit | Unindent Selection
- 按鍵Tab / Shift+Tab
固定縮排
- 使用一個錯誤的縮排即可
- 按鍵Ctrl+Alt+I
tab和空格間切換
主選單選擇 Edit | Convert Indents,然後選擇To Spaces 或者To Tabs
程式碼摺疊
概述
你可以摺疊程式碼片段成為一行。這樣,你可以隱藏那些不重要或者註釋細節。當需要的時候,你可以開啟展開它。 下面是一個對比顯示:
摺疊含義
你可以通過如下方式展開和摺疊程式碼片段:
- 你可以點選這幾個圖示來操作,,點選+之後會變成-。如果你按住alt來操作,會遞迴的展開和摺疊程式碼片段。
- 選擇Code | Folding後,在子單中你能看到關於摺疊的選項以及快捷鍵 -對於摺疊的程式碼片段,點選即可展開。
預定義摺疊和自定義區域
- 程式碼塊 使用Ctrl+Shift+句號(或者Code | Folding | Fold Code Block) 可以摺疊{}形式的程式碼塊。 也可以 使用Fold Selection / Remove Region或者ctrl+句號
- 預定義 預設情況下,像set方法等都會摺疊,如果你想配置的話可以在settings選項中的Editor | General | Code Folding配置。
- 任何被選中的程式碼片段都可以使用Fold Selection/ Remove Region 或ctrl+句號進行展開。
摺疊選單命令
可以通過Code | Folding調出摺疊選單命令
命令 | 快捷鍵 | 描述 |
---|---|---|
展開 | ctrl+ + | 展開當前程式碼塊 |
摺疊 | ctrl+ - | 摺疊當前程式碼塊 |
遞迴展開 | ctrl+alt+ + | 遞迴展開當前程式碼塊 |
遞迴摺疊 | ctrl+alt+ - | 遞迴摺疊當前程式碼塊 |
展開全部 | ctrl+shift+ + | 展開全部當前程式碼塊 |
摺疊全部 | ctrl+shift+ - | 摺疊全部當前程式碼塊 |
展開等級 | ctrl+* 和1,2,3,4,5 | 展開等級(數字代表展開的層級,比如有兩層摺疊,如果按1則只展開最外一層,2則展開2層)當前程式碼塊 |
摺疊等級 | c |