1. 程式人生 > >Intellij Idea 2017編輯器詳解

Intellij Idea 2017編輯器詳解

編輯器總覽

基礎

在建立和修改程式碼的時候,編輯器是是否有用的工具。所有的其他的編輯器也都支援書籤,斷點,語法高亮,程式碼提示,Zooming,程式碼摺疊等。 當然這裡還有很多諸如巨集指令,高亮TODO,程式碼分析、事件、快捷智慧導航的高階特性。可以使用setting中的editor配置編輯器環境。也可以通過ctrl+~的方式選擇更改樣式、主題、快捷鍵等。 這個編輯器是基本的,所有的語境選單上的操作都是可用的。當然你也可以通過Window | Editor tabs上的節點來操作。

活動編輯器

當你開啟一個檔案編輯的時候,他開啟在一個自己的標籤中,你當前正在工作的編輯器,就是活動編輯器。你可以使用View | Active Editor節點下的命令來改變其行為。

替代方式,你可以通過find action或者search everywhere命令。

編輯區域

  1. 編輯區 使用此區域來編輯和分類你的原始碼。編輯器提供了很多的程式碼輔助工具。具體我們在後續章節講解。
  2. 邊欄區域 左邊欄提供了關於你程式碼的輔助資訊,並展示識別出的各種各樣的圖示(程式碼結構,斷點,書籤,指示器,變動人,程式碼摺疊)。當然你可以從左側邊欄改變其行為。 可以使用setting|editor|apperance或者 Editor Gutter Popup Menu預設情況下,此事件沒有繫結快捷鍵,你可以在快捷鍵中設定自己的。
  3. 智慧提示彈窗 這是一個鍵輔助特性(支援方法名,函式,標籤或者其他的)。

  4. 文件標籤 可以依據此在多個文件間快速切換,也可以使用Alt+Right or Alt+Left切換。 當你按住ctrl的時候點選標籤,會顯示檔案導航資訊,你也可以用資源管理器開啟所在位置。

    同時也提供瞭如下集中語境選單(後續會有)

    • 關閉一個或多個標籤
    • 固定活動標籤
    • 分屏和取消分屏
    • 標籤組管理
    • 標籤間導航
    • 新增到收藏夾
    • 移動改變
    • 執行和除錯活動編輯器
    • 執行本地歷史和版本控制命令
    • 執行自定義工具命令 預設情況下,標籤展示在最上面,不過你可以設定。
  5. 側邊校驗欄和標記欄 在編輯器右側的欄,展示綠色,紅色,黃色框,代表ok,error,warn。你可以通過點選它快速定位到對應的程式碼。

編輯器基礎

在編輯器中選擇文字

基礎

基礎的方式是通過滑鼠進行文字的選擇。在IDEA中提供了快捷鍵的支援。 你可以選擇部分文字或者矩形程式碼片段,使用多選擇或者粘性選擇模式擴充套件和收縮選擇。

選擇編輯器中的所有文字

有如下兩種方式:

  1. 主選單中選擇 Edit | Select All
  2. 使用ctrl+a 快捷鍵

使用定位鍵

選擇當前容器位置的字元開始和結束的文字

  • Ctrl+Shift+Left, Ctrl+Shift+Right. 選擇當前容器位置的字元所在行開始和結束的文字
  • 雙擊Ctrl+home/end

選擇當前容器位置的頭部和尾部為本

  • Ctrl+Shift+Page Up, Ctrl+Shift+Page Down

選擇程式碼的替代方案

選擇一欄文字,可以做下面的操作:

  • 保持alt鍵不鬆,然後滑鼠左鍵選擇文字
  • 鬆掉左鍵 按滑鼠中鍵
  • 按鍵 shift(alt全程不鬆),拖動文字到指定位置。有時候這是非常有用的。

擴大選擇

擴大選擇編輯器中的文字,可以按如下兩種方式

  1. 通過選擇Edit | Extend Selection
  2. 通過ctrl+w快捷鍵 選擇 通過上述方式可以快速選擇游標位置的文字(可以是註釋、方法、文字等),再次按擴大文字範圍,直到文件全部被選擇。

縮小選擇

縮小選擇是配合上邊的擴大選擇使用的,可以按如下兩種方式

  1. 通過選擇Edit | shrink Selection
  2. 通過ctrl+shift+w快捷鍵 選擇

多選擇

Intellij Idea支援多文字片段選擇。所以你可以選擇多個字元,行,或者矩形。

多個單詞選擇方式,按如下步驟:

  • 按鍵shift+alt,雙擊滑鼠左鍵選擇相關單詞
  • 按鍵alt+J,或者選擇文字後,再次alt+J,可以查詢到所有匹配的文字(比如選擇的文字是username,會匹配到其他的username(按鍵一次匹配一個)),在修改過變數名的時候挺有用的。

選擇之後,你就可以編輯你選擇的內容了。

選擇多個文字段:

  • 按Shift+Alt
  • 使用滑鼠左鍵選擇想要操作的區域。

多個矩陣選擇:

  • 按鍵Ctrl+Shift+Alt (Windows or UNIX)/ Shift+Alt+Cmd(macOS)
  • 使用滑鼠左鍵選擇想要操作的區域。

行列模式切換

主要有以下幾種:

  • 主選單選擇,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中設定

複製選擇的文字

主要有以下幾種:

  1. 使用ctrl+c,或者點選
  2. 從主選單Edit | Copy
  3. ctrl+D 複製整行(多行)

複製檔案路徑

  1. 主選單選擇 Edit | Copy Path,或者Ctrl+Shift+C
  2. 或者在專案工具窗中選擇對應的檔案,右鍵 Copy Path 即可

複製行和符號的關聯

首先,找到你要操作的程式碼塊。

  • 使用Edit | Copy Reference
  • 右鍵 Copy Reference
  • Ctrl+Shift+Alt+C

剪貼文字片段

首先選擇你想要剪貼的內容,然後如下操作:

  1. 主選單 Edit | Cut
  2. Ctrl+X
  3. 點選按鈕

從貼上板貼上最後一個內容

首先選擇貼上位置,然後如下操作:

  1. 主選單 edit | Paste.
  2. Ctrl+V
  3. 點選按鈕

這種方式,在java中會自動匯入依賴(如果你配置了auto import)。

從貼上板貼上最後一個內容為純文字

  1. 主選單 Edit | Paste Simple.
  2. Ctrl+Shift+Alt+V

從貼上板中選擇特定版本

  1. 主選單 Edit | Paste from History 或者快捷鍵 Ctrl+Shift+V
  2. 從彈窗的列表中選擇你需要的版本(參照上圖)。

跨idea複製貼上

此處內容比較簡單,這裡大概描述下即可 主要是使用ctrl+c/v/x進行操作,即可在idea之間,系統間進行復制、貼上、剪貼操作 不同的是,可以之間拖拽檔案進行移動,ctrl+拖拽進行復制檔案

註釋和取消註釋程式碼塊

基礎

你可以註釋或取消註釋當前行或者選擇的程式碼。註釋特性對所有檔案型別都適合。

配置註釋行為

一般情況下,idea的註釋(比如//)是在行頭的。如果你想改變的話,可以開啟settings對話方塊,選擇 Code Style | Java,點選 Code Generation標籤。

取消勾選Comment Code部分的配置即可

清除之後,註釋就在程式碼前邊,而非行頭

註釋/取消註釋行程式碼

可以有以下幾種方式:

  • 主選單選擇:Code | Comment with Line Comment.
  • ctrl+/

註釋/取消註釋行程式碼塊

可以有以下幾種方式:

  • 主選單選擇:Code | Comment with Block Comment.
  • ctrl+shift+/

撤消和重做變化

基礎

撤銷命令丟棄當前檔案的最後一次更改。重做命令則是丟棄最後一次撤銷命令。 在必要的時候,你可以使用撤銷和重做命令。idea關閉時,這些改變歷史會丟失。

以下幾種情況都會觸發記錄歷史操作:

  1. 按鍵 enter
  2. 游標位置發生變化
  3. 使用導航快捷鍵
  4. 複製、貼上
  5. 按鍵 tab

idea擴充套件撤銷和重做機制已完成複雜的操作。比如:格式化和重構程式碼,建立和刪除檔案。

撤銷和重做更改

  • 撤銷
    1. 主選單選擇 Edit | Undo.
    2. ctrl+z
  • 重做
    1. 主選單選擇 Edit | Redo.
    2. Ctrl+Shift+Z

在編輯器中開啟或者重新開啟檔案

編輯器中開啟檔案

  1. 有如下幾種方式
  2. 在工具窗中雙擊你要開啟的檔案
  3. 在工具窗中選擇你要開啟的檔案,按F4
  4. 在工具窗中選擇你要開啟的檔案,右鍵Jump to Source
  5. 使用導航命令(class,檔案,符號,比如shift+shifit)
  6. 在導航欄中選擇一個目錄,然後從下拉列表選擇你要開啟的檔案。

  7. 如果檔案型別已經在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,然後選擇合適的命令。
    • Close 關閉當前活動編輯窗
    • Close All 關閉所有開啟的檔案
    • Close Others 關閉除了活動窗體以外的其他編輯窗或者移動到x按鈕位置,按alt
    • Close Unmodified 關閉沒有更改過的編輯窗(配合版本控制使用)
    • Close All But Pinned 關閉所有沒有固定的編輯窗
  • 右鍵編輯窗 可以得到上述相同的命令選單
  • 滑鼠移動到你想要操作的標籤上,按住shift,然後左鍵即可關閉
  • 滑鼠移動到你想要操作的標籤上 點選x號即可
  • ctrl+f4

鏡頭模式

當我們的游標移動到側邊欄的警告、錯誤、資訊上時,會出現一個小窗體。這個窗體就是鏡頭模式。 ,窗體內展示錯誤、警告的程式碼片段。

預設情況下,這種行為是開啟的。你可以按下圖方式切換它。

多游標

基礎

idea支援多插入符號操作。有些專業的事件,比如鍵導航,文字插入和刪除等待。當然活動模組和自動完成也是支援的。

大多數情況下,我們只關注那些近期新增的字元。高亮只適用於插入符號的字元所在行

同時,此功能依賴下面兩項:

  1. column selection mode 是否開啟。
  2. 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+Shift+A,輸入Clone caret,在列表選擇你要的事件

預設情況下是沒有繫結快捷鍵,不過你可以去快捷鍵裡面配置。

選擇後,插入字元就會上或者下傳播

複製和貼上

使用ctrl+c和ctrl+v即可將選擇的多文字複製和貼上。

新增到收藏夾

你可以講一些需要的條目分組到收藏夾中,以便可以快速的通過收藏夾工具窗定位。

你可以通過下面的方式進行收藏:

  1. 開啟你需要的檔案或者在project工具窗中選擇1個或者多個條目
  2. 右鍵選擇Add to Favorites

  3. 如果你已經有收藏列表 選擇對應的即可,如果沒有則可以 Add to New Favorites List,然後設定列表名。

儲存和還原更改

使用idea的話你不用擔心檔案的儲存問題,idea會自動幫你儲存的。

你不需要關心改變,idea會自動幫你在本地儲存版本,你可以還原到上一個版本。

什麼時候idea儲存變化?

  • 編譯專案,module,class
  • 啟動執行或者除錯配置
  • 執行版本控制操作 比如pull commit或者push等等
  • 關閉檔案
  • 關閉專案
  • 退出ide

調整自動儲存行為

在(File | Settings | Appearance and Behavior | System Settings)可以調整自動儲存行為。

  • 窗體失去焦點後,進行自動儲存。
  • 在應用空閒N秒後,進行自動儲存。

使用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

啟用編輯器字型改變功能

  1. 開啟Settings/Preferences,展開editor節點
  2. 確保Change font size (Zoom) with Ctrl+MouseWheel開啟。

使用滑鼠改變字型

  1. 進入編輯器 2.按住ctrl 滾動滑鼠滾輪即可

使用鍵盤改變字型

1.按ctrl+shift+a 2.在對話方塊中輸入Increase font size 或者 Decrease font size 即可放大或者縮小字型。

重置為預設

1.按ctrl+shift+a 2.在對話方塊中輸入Reset font size,回車即可重置為預設字型大小。

編輯器高階

格式化原始碼

概述

idea使你格式化程式碼為你想要的樣式。idea將佈局空格、縮排、單詞等。選擇文字、整個檔案、整個專案都適用格式化。

格式化程式碼

如果你想格式化一個資料夾,按以下幾步:

  1. 在專案工具窗體中選擇一個你想要應用格式化的module或者資料夾。
  2. 從主選單選擇Code | Reformat Code或者按鍵 Ctrl+Alt+L。或者右鍵 Reformat Code.
  3. 在 Reformat Code對話方塊中配置選項後,然後run。

格式化當前檔案程式碼

1.在開啟的檔案中按鍵Ctrl+Shift+Alt+L。注意:如果你選擇主選單的Code | Reformat Code或者Ctrl+Alt+L,idea會自動幫你格式化(不用開啟格式化對話方塊)

  1. 在開啟的對話方塊中選擇選項,點選run

當格式化的時候跳過某個區域

如果你想保留某一部分的程式碼格式,按下面幾步:

  1. 在區域開始出,使用ctrl+/ 跟隨@formatter:off
  2. 在區域結束處,使用ctrl+/ 跟隨@formatter:on
  3. 執行格式化命令。

當然你也可以建立一個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