IDEA 使用
最強教程,不多不雜。基于idea旗艦版 2019.2.3左右的版本,大多數是windows的,少數是mac版的
一、必改配置
1、ctrl+滾輪 調整字體大小
全局立即生效:settings -> Editor -> General -> Change font size with ctrl+mouse wheel
修改,don’t show in grey for keys which are unused in properties file —我覺得必改
本project生效,settings -> Editor -> Inspections -> Properties files -> Unused property 去掉這里的勾
立即所有project生效,settings -> Editor -> Inspections -> Properties files -> Profile由 Project Default 切換到Default,然后繼續找到 Properties files -> Unused property 去掉勾
(本來以為僅僅針對新的project才生效,但是發現只要修改后立即生效,可能需要把已經打開的
2、禁止雙擊 shift 全局搜索
因為很容易和切換輸入法的shift沖突(有時會快速按2次shift切換回原來的輸入法)
雙擊shift,或者command+shift+o,切換到Actions,搜索Registry,選擇Registry...
找到 idea.suppress.double.click.handler,再后面把√打上即可。
新版idea無上述選項,新改法:設置里的 “Advanced Settings”,輸入 double,將 Disable double modifier key shortcuts 前面的框勾上,點擊 Apply 即可
3、禁止檢查更新
- File->Settiings…->Appearance & Behavior -> System Settings->Updates->去掉
Automatically check updates for ...
的選項 (全局立即生效) - 另外還可以禁止插件更新
4、禁止鼠標拖動代碼
選中代碼塊后,鼠標能夠拖動代碼,這真的不是好設計
File->Settings->Editor->General->去掉勾選Enable Drag'n'Drop functionality in editor
(全局立即生效)—>新版是 Move code fragments with drag-and-drop
5、使用自己的maven
建議如果idea的版本較高,內置的maven版本也較高,則使用內置的即可。但2019.1.3版本內置3.3.9較老,會導致父pom里定義的properties變量在子類的<parent>里引用的時候報錯(但不影響編譯和打包),看著不舒服,需要升級到>=3.5.2的maven才能解決,于是只能用外置的maven。要注意2019.1.3和3.6.2版本的maven有沖突,需要換成稍微老一點的版本如3.6.1
# 見stack overflow:https://stackoverflow.com/questions/57842143/idea-unable-import-maven-project# 其中一個回答:
It is known Maven 3.6.2 compatibility issue: https://youtrack.jetbrains.com/issue/IDEA-221882 .A workaround is to change Maven version to 3.6.1 or older
將maven修改成自己的路徑的maven(官方下載后的解壓版)。
在File->Other Settings->Settings for New Projects(有些IDEA是Default Settings),搜索maven,修改成自己的maven,詳細改動如下 (全局生效)
- 修改
Maven home directory
,瀏覽到自己的maven目錄 Local repository
似乎會根據上一個步驟自動修正(根據M2_HOME的settings.xml的配置確定)User settings file
,這個不會因第一步自動改動,必須選中Override
后自行瀏覽到 M2_HOME 的 settings.xml 位置
- 自動導入:我們希望改動pom.xml的時候,能進行自動下載jar。在File->Other Settings->Settings for new projects->搜索Maven->Importing->Import Maven projects automatically,默認沒有勾選,要勾選上。 (全局生效)
- 一般不要下載jar包的源碼和文檔,否則很慢。在需要的時候再進行下載即可。故Automatically download中保持默認的未勾選狀態。
使用idea自帶的maven,要注意chmod 755 mvn mvnDebug mvnyjp
改變文件變成可執行,否則無法在finder里使用mvn命令(同時需要配置環境變量)
6、ctrl/cmd+w 關閉標簽
windows的idea默認ctrl+w不是關閉標簽,如何改?macOS不記得cmd+是否關閉標簽,不是的話也同樣的修改方法
File->Settings(全局生效)
右鍵選擇 Add keyboard shotcut
,輸入ctrl+w,確定,會提示快捷鍵被其他功能占用,直接選擇Remove占用者。
7、使用自己的 JDK
File->Project Structure->Platform Settings 下的 SDKs->點擊加減(全局生效(新版2019.2.x僅針對當前project))
新版在File->Other Settings->Structure for new projects中才是全局配置(2019.2.x版)
8、設置白色主題
File->Settings->Editor->Color Scheme->修改主題:Default就是白色 (全局生效)
吐槽:都不知道大家為什么這么喜歡idea暗黑的主題,就因為是默認的,才導致這么多人使用嗎? 難道大家就沒發現會降低效率嗎? 美其名曰護眼,網頁都是白色的,在白色和黑色之間切換,其實眼睛還更易累。其次,暗黑在相同變量高亮的時候,明顯沒有白色的那么顯眼,如下圖:
9、啟動時詢問project
啟動idea時彈出窗口詢問進入哪個project,而不是自動進入最后關閉的那個project,如何改:
File->Settings->Appearance & Behavior->System Settings->去掉Reopen last project on startup (全局生效)
10、關閉時需要確認
默認就這樣的,相當于無需改
File->Settings->Appearance & Behavior->System Settings->勾選Confirm application exit (全局生效)
有個細節:打開多個窗口的時候,只有最后一個窗口被關閉的時候才會彈出讓你確認是否退出的窗口(如果啟動中例外)
11、代碼補全,忽略大小寫
例如默認輸入stringbu 不會提示StringBuffer,必須匹配大小寫。如果需要忽略,則
File->Settings->Editor->General->Code Completion->Match Case,這里不勾選則輸入小寫也能補全代碼 (全局生效)
12、多行標簽
默認單行標簽顯示,我們希望多行顯示,則
File->Settings->Editor->General->Editor Tabs->Show tabs in one row(或Show tabs in single row)不要勾選即可 (全局生效)
注意:還要改Closing Policy->Tab limit
,默認10,改大點,否則打開超過10個就會關閉。建議改成個100,足夠大。
13、設置標簽打開和關閉行為
一般喜歡打開在末尾和關閉后激活上次active的tab
File->Settings->Editor->General->Editor Tabs->Tab Order->勾選 Open new tabs at the end(打開的新tab都會在最后,默認的是在當前激活的tab的右邊)(全局)
File->Settings->Editor->General->Editor Tabs->Closing Policy->When the current tab is closed,activate->選中Most recently opened tab(關閉某個tab后,激活最近被打開過的tab。默認是激活被關閉的tab左邊的tab)(全局)
PS:這個真的是必改,有時候追蹤代碼,因臨時需要跳轉到某個class的源碼里,看完后關閉后我們希望回到原來的位置而不是左邊的tab。
14、Enable annotation processiing
老是彈出這個,每打開一個project都要處理一次,雖然只要處理一次,但也很煩。這個可能是跟lombok有關。
可以全局設置,立即生效,但要在new Project Setup ->Settings for New Projects… 里設置,因為每個project獨立的
settings -> new Project Setup ->Settings for New Projects… -> Build,Execution,Deployment->Compiler->Annotaion Processors,勾選 “Enable annotation processing”
不知道為啥,而且好像也不影響使用
網上說的解決方式是局部只針對本項目的,全局的要在Settings for new projects
里,Build,Execution,Deployment->Compiler->Annotation Processors->
15、代碼補全/代碼提示
ctrl+space(跟輸入法沖突),建議改成 alt+/ (或cmd+/),改法:
-
Windows建議
File->Settings->搜索keymap,選中->再在右邊的搜索框輸入completion
,找到Code->Completion,選中Basic,可以看到它的快捷鍵是Ctrl+空格
,選中,右鍵選擇Remove Ctrl+空格
,然后再右鍵選擇Add Keyboard Shotcut
,按下alt+/快捷鍵,點擊OK,此時提示已經存在alt+/的快捷鍵,選擇Remove表示刪除其他的沖突鍵(alt+/原來的功能是復制光標所在地方的前一個單詞
,平時很少用,放心覆蓋)
(全局生效) -
Mac建議
mac建議代碼提示改成cmd+/,原來的cmd+/是注釋,搜索comment,找到Comment with Line Comment
,將其改成option+/,原來的option+/ 綁定的快捷鍵移除快捷鍵。
16、properties文件未使用的配置灰色
當出現這種現象的時候才更改。之前Mac版遇到過,但是后來同樣是Mac版沒遇到了。Windows版似乎一直都沒問題
未被使用的key顯示灰色,和被注釋掉的key同色,不容易區分,故需要做如下修改
File->Other Settings->Preferences for New Projects->Editor->Inspections->Properties Files->Unused Property(注意不要找錯在Inspections->Java->Properties Files),剔除掉勾選(全局生效)===>不知道為什么有時候改了新項目還是有問題
17、禁止Terminal選中時就復制
長期這樣會導致粘貼板太多,不利于復用粘貼板歷史。
File->Settings->Tools->Terminal->剔除Copy to clipboard on selection
(全局生效,立即生效)
18、改 Terminal 的光標cursor樣式
默認是粗粗的豎線,移動光標的時候不好判斷究竟移動到了什么字母和字母之間
File->Settings->Tools->Terminal -> cursor shape,默認是block,按自己習慣改,我選擇vertical
19、改Terminal的用cmd.exe還是powershell(macOS忽略)
File->Settings->Tools->Terminal -> Shell path,改這里
20、搜索/替換最多搜出100條的問題
【新版idea這種方法】
settings -> Advanced Settings -> Find/Replace -> Maximum number of results to show in Find in Path/Show Usages preview
默認值還是100,可以改成1000,夠用了。
【舊版idea用下面方法改】
非常坑,搜不全,替換不全。
修改:ctrl+shift+n或cmd+shift+o 打開后切換到Action,搜索Registry...
,找到ide.usages.page.size
,默認100,改成1000或更大。根據自己電腦性能改一改,據說這改動也會耗費一定的電腦性能。
21、“選中變量或方法”的背景顏色、字體顏色(Mark Occurrences)修改(建議修改)
全局立即生效
Settings/Preferences -> Editor -> Color Scheme -> General
- ““Code -> Identifier under caret -> Background” 這個是變量讀取的顏色
- “Code -> Identifier under caret(write) -> Background” 這個是變量被賦值時的顏色
- “Editor -> Selection background -> Background” 這個是選中范圍的背景色
新的顏色方案
- “Code -> Identifier under caret -> Background” 改成 C1FFEE
- “Code -> Identifier under caret(write) -> Background” 改成 B3F6FF
- “Editor -> Selection background -> Background” 保持不變
舊的顏色方案,作廢
- “Code -> Identifier under caret -> Background” 改成 9F9DA7
- “Code -> Identifier under caret(write) -> Background” 改成 7C52FF
- “Editor -> Selection background -> Background” 保持不變
22、compact mode
新UI,如果想要使用緊湊的UI模式,可以這么改,全局立即生效
settings->Appearance & Behavior -> Appearance -> UI Options ->Compact mode
二、必裝插件
如果下載不了,假設IDEA所在宿主機掛v了,可以設置代理,在
File->Settings->Plugins
,點擊齒輪狀,選擇HTTP Proxy Settings...
,選中Auto-detect proxy settings
即可。這樣就可以利用到宿主機的v。
lombok (需要檢查)
idea社區版需要安裝,旗艦版自帶有就無需。不安裝會導致寫了lombok注解跟沒寫一樣。
GenerateAllSetter (必裝,誰用誰知道!)
作者:bruceGe),快捷鍵 option + enter。我們有時候經常在new完一個對象后,需要一個個地set字段值,我們希望能自動生成
Maven Helper插件
作者:Vojtech Krasa,搜索Maven Helper,注意不是Maven Dependency Helper
Restfultoolkit-fix 后 RestfultookkitX 插件
Restfultoolkit-fix 作者:jinghong,快捷鍵ctrl+\,如果不生效看是否被占用了
這個插件為了搜索controller方法更加方便,因為有些路由會寫在類上,有些會寫在方法上,為了容易搜索。ctr+\是快捷鍵。當然還有其他功能
MyBatisCodeHelperPro(推薦,一個就夠)
作者:MyBatisCodeHelperPro(跟插件名同名)。如果需要project用MyBatis,推薦這個,有xml和方法之間跳轉、sql提示、可執行sql語句提取、表生成實體類等等功能。
POJO to JSON
作者:搜索的時候作者是 Tony Wang,但是安裝好后是organics2016),拷貝endpoint的入參實體類,得到入參json字符串
可以拷貝入參的json格式結構
三、可選配置
以下有些改動不是必須的,請按照自己的習慣選擇
1、改一下注釋的對齊方式
全局立即生效
settings -> Editor -> Code Style -> XML -> Code Gerneration
settings -> Editor -> Code Style -> Java -> Code Gerneration
上述兩個位置看看下面兩個選項
- Line comment at first column
- Block comment at first column
默認勾上了,剔除掉,這樣下次使用注釋快捷鍵生成注釋的時候就不會跑到最前面了
其他格式的文件也想通的辦法調整
2、設置maven下載源碼和文檔
不建議是太建議,耗磁盤容量,下載慢
- 找到菜單
- 若想僅僅本工程生效:File->Settings
- 若想全局生效:File->Other Settings->Settings for New Projects
- 搜Maven,點開 Importing,看到右邊
Automatically download
,勾選Sources和Documentation
3、修改字體大小 —視情況而定
可以調整字體大小、行距
File->Settings->Editor->Font->Size (全局生效)
4、設置方法分割線—視情況而定
在一個類里可能有很多方法,或方法很長,可以加上橫線分割,比較顯眼
File->Settings->Editor->General->Appearance->Show method separators 勾選上 (全局生效)
5、要查看某個class文件的源碼
- maven中的jar,只要雙擊展開需要查看的class
- 如果關聯了源碼,直接展示
- 如果未關聯源碼,idea會反編譯(而且頂部還告訴你class是用什么jdk版本編譯的,且還有下載源碼的鏈接,點擊后可下載源碼)
- 外部的class文件
- 只要拷貝到某個項目里,雙擊打開后可查看,查看完之后刪除文件即可
- 有些高版本的IDEA不支持拷貝class文件到項目里(因為是源碼目錄),只要變通下,在文件系統中復制過去,然后回到IDEA進行查看
6、設置注釋帶作者
不建議這種設置了,替換成別的,-建議使用LiveTemplate
通常我們需要設置注釋帶上作者、日期等信息。注釋分為:1、類/接口/枚舉的注釋;2、變量/方法的注釋;一般只要在類/接口/枚舉上帶上作者和日期等信息即可。變量/方法若帶上,就會顯得臃腫
設置方法:File->Settings->Editor->File and code templates(全局生效)
注意:
- 無法做到每個工程使用不同的配置,所有工程統一配置(期待IDEA新版)
- 雖然在
File->Settings
和Other Settings->Settings for New Projects
里都有該配置項,但兩處并不是獨立的,在其中一處修改,另外一處受影響
7、設置作者信息快捷鍵(LiveTemplate)
-
File->Settings->Editor->Live Templates
-
點擊右上角的加號,選擇新建分組,用于包含自己新增的LiveTemplate,選擇
Template Group...
-
輸入名字,例如
MyCustomGroup
,點擊OK
-
選中新建的分組,點擊右上角的加號,這次選擇
Live Template
-
輸入Abbreviation(縮寫,即用來觸發的單詞),以及Description(描述,會出現在提示框后側,詳見后圖)。例如輸入
zz
,描述是作者信息
-
Template text中輸入模板信息,如果帶有變量,則自動檢測到變量后右邊的
Edit variables
會亮起來
例如值:/**
*- @author Stone
- @date
$DATE$
*/
注意:變量的格式不是 ${DATE}
,而是 $變量名$
- 點擊 Edit variables,輸入Expression,用于告知要怎么取值,例如用
date()
表示取當前日期,點擊OK
- 可以看到No applicable contexts,點擊 Define,勾選Java全部
- 最終點擊OK
8、Show in Explorer放在工具欄中—可選(建議不)
在工具欄中展示這按鈕,打開的時候比較快。
1、在工具欄空白處右鍵,選擇 `Customize Menus and Toolbars...`
2、雙擊展開 `Main Toolbar`
3、雙擊展開 `Tasks toolbar`
4、點擊右上角的加號,選擇 `Add Action`
5、雙擊展開 `Other`
6、找到 `Show in Explorer` (macOS叫 `Reveal in Finder)
7、如果需要icon,點擊icon瀏覽圖片
8、點擊 OK 進行確認
注意:網上說去搜 “Show in Explorer”,這個搜索體驗很差,明明是存在這個的,但是就是搜不出來,請自己到 “Other” 里瀏覽。
9、IDEA取消代碼重復提示
File->Settings->Editor->Inspections->General->Duplicated code fragment->不勾選(本項目有效)
File->Other Settings->Setttings for New Projects->Editor->Inspections->General->Duplicated code fragment->不勾選(全局生效,對新項目有效舊項目依舊保持獨立配置)
注意: 改完后已打開文件依然有提示,必須關掉重新打開
10、顯示換行符
idea的換行符默認是跟隨系統的,即System-Dependent
,如windows的話默認CRLF。常見的換行符有:
- CRLF=\r\n (windows系統)
- CR=\r (舊版Mac系統)
- LF=\n (Unix系統和新版Mac系統,Unix包括Linux)
新版Mac系統跟Unix統一了,其實Mac系統本身就是Unix系統。另外Linux系統包括在Unix里面,也是用LF的
33.4 PS:關于windows的記事本
win10的記事本改進了,對于非CRLF格式的文件,也不再顯示出錯連成一行(換行被顯示成黑色符號)。win7的記事本不能正常展示。
11、去掉拼寫檢查
- 怎么把某個單詞加入到詞典中
- 例如
hbase
、rowkey
這種,會被認為是拼寫錯誤。只需要alt+enter選擇Save 'hbase' to project-level ditionary
(僅本project生效)
- 例如
(當前工程所添加的單詞在這里,可以進行增刪操作:File->Settings->Editor->Spelling->Accepted Words)
- 去掉拼寫檢查:(不建議)
12、取消漢化
建議官網下載IDEA,原生就是英文的
有些下載的包是帶有漢化的,要改成英文的,可以 Help->Edit custom VM Options
加入如下配置參數
-Duser.language=en
-Duser.region=US
參考這里
13、讓所有文件都默認soft wrap
不建議修改,默認無**
File->Settings->Editor->General->將 Soft-wrap files
勾上并設置為 *
或者 *.md; *.txt; *.yaml; *.yml; *.properties
(全局生效,無需重啟IDEA)
建議改成后者,前者還是會挑戰使用習慣,尤其是對java文件換行之后特別難看。
四、可選插件
Smart Search
可直接在IDEA里谷歌搜索或stackoverflow
自定義搜索菜單,在 File | Settings | Other Settings | Smart Search
properties和YAML互轉的插件(不建議,找AI轉換即可)
試了幾個,都不好用
-
Properties to YAML Converter Codearte
,似乎不兼容新版的IDEA了(2020.1),且不說做不到 “互轉”,貌似只能單轉。官方使用指引如下General Usage Instructions
- At first select properties file.
- Convert action is also available from the context menu after right-clicking properties file. You can find it also in the menu:
Code -> Convert Properties to YAML.
puml插件
安裝plantuml以便打開puml文件(流程文件)
Markdown插件
idea本身有markdown插件,名就叫Markdown
,但是似乎有些bug,經常性出現無法預覽(Mac版如此,win版未知是否也如此)
搜索Markdown Navigator
并安裝,重新啟動idea后會提示需要二選一,選擇該插件即可。
沒有Spring Initializr
正常安裝是有的,如沒有,建議重新安裝IDEA(清緩存),不建議下面的做法
大多數IDEA應該是有,有些沒有,可能因為版本問題。安裝插件 Spring Assistant
即可
這個很可能是安裝的時候漏掉了某些插件,需要卸載干凈(詳細搜索如何卸載干凈idea),安裝Spring Assistant根本就不管用,還會漏掉很多功能,比如properties配置文件的springboot配置的自動補全等
阿里代碼規范檢查插件
File->Settings->Plugins->Marketplace->輸入Alibaba Java Coding Guidelines
回車搜索并安裝,然后重啟(若搜不到就搜部分關鍵字)
安裝 ignore 插件
搜搜ignore并安裝。可添加.gitignore
文件。除此外其他ignore文件,如.dockerignore
發現其各種語言的忽略的模板文件來自GitHub這里:https://github.com/github/gitignore
安裝后出現
- File->Settings->Version Control->Ignore File Support,可以在這里添加自己的模板(建議)-----全局配置
- 在File->Other Settings->Settings for New Projects->Version Control中也可以配置,也是全局配置(該插件這兩處是相同的)
- 右鍵項目:new->.ignore file
安裝英語單詞翻譯插件 Translation
搜索Translation
并安裝,安裝好后在File->Settings->Other Settings->Translation->將使用translate.google.com
去掉勾選,天朝網絡不行。
駝峰互轉插件
搜索CamelCase
并安裝插件,重啟后,選中文本,快捷鍵shift+option+u(持續點擊能在各種形式中轉換)
小駝峰->按此全小寫,下劃線->單詞全小寫,用空格連接->單詞全小寫,用減號連接->單詞全大寫,下劃線->大駝峰
快捷鍵提示插件
搜索Key promoter X
并安裝。
GsonFormat 插件
可以把json字串轉換為類。新建這個類,完成后代碼會自動貼在這個類里。快捷鍵option+s打開并貼入JSON字串。
注意以下設置:
option+s打開面板,左下角Setting
Convert Libary
選擇LombokGenerate Comments
剔除勾選(也可保留,注釋里有轉換前的json值,方便進行核對并修正字段類型)
Statistic插件(平時沒什么用)
搜索Statistic并安裝。統計代碼行數之類
Rainbow Brackets(彩虹括號)
其實可以不裝,可能會變得更卡頓(因為插件層提示文件超過1000行就會默認禁用有此可知會影響性能)
默認的顏色比較暗沉,如果使用白色主體時區分度不高,使用暗黑主體區分度就很高。在Editor->Color Scheme->Rainbow Buckets里可以配置顏色,每種括號可以配置5層顏色。
如果用亮色主題,這個插件幾乎就沒有什么用,雖然可以自己設定適合于亮色主體的顏色,但是太麻煩了。(在File->Settings->Editor->Color Scheme->Rainbow Brackets里可以復制一份配置單獨定義顏色,例如定義為:
String Manipulation(字符串互轉—有AI了不需要這個了)
雖然默認就有快捷鍵可以轉,但是安裝這個后有快捷的右鍵菜單,對于不常用的 “字符轉換” 的操作快捷鍵,是很好的補充。
ZooKeeper (連接zk的插件)
搜索并安裝插件,在Preference->Other Settings->ZooKeeper里輸入連接信息,并且Enable ZooKeeper
勾上,在IDEA左側就會出現 “ZooKeeper” 的視圖。目前的版本似乎有些bug,連不上
jclasslib (必裝)
查看class的反匯編,類似于javap -v -p。裝完后有個比較惡心的,就是總顯示中文。
使用方式:view ->Show Bytecode with Jclasslib
BinEd -Binary/Hexadecimal Editor
只要搜 BinEd 就行了,全名有點冗長裝完后idea出現新的菜單,File->Open As Binary…,并且右鍵菜單也出現了 Open As Binary。
在某個Xxx.class文件中右擊選擇Open As Binary即可。注意,不能右鍵打開Xxx.java選擇Open As Binary,因為這樣看到的是java文件的。
快捷鍵
1、import package
-
import包:alt+enter(光標不需要停留在需要導入的那行代碼)
-
一次性import多個類:(好像沒有,但可以參考 設置自動導入)
-
清理沒用到的import語句:ctrl+alt+o
2、搜索文件
- 搜索項目的 class:搜不了
- 搜索 JAR 包里的 class:ctrl+n (搜 jar 包中的 class)
- 搜索項目里的文件:ctrl+shift+n
- 搜索jar包里的文件:ctrl+shift+n,勾選右邊的
include non-project classes
- 搜索所有(包括Classes/Files/Symbols/Actions):雙擊shift
3、搜索文本
- 搜索單個文件里的字串:ctrl+f(下一個:enter或F3,上一個:shift+f3)
- 替換單個文件里的字串:ctrl+r
- 選中文本上下搜索:選中后按ctrl+f3,相當于ctrl+f后輸入選中的文本
- 搜索項目的maven里有什么jar包:將
External Libraies
展開,直接輸入字母(必須在Project的框框里),可搜索GAV - 搜索項目中的文件是否包含字串:ctrl+shift+f(勾選file mask表示限定于指定擴展名的文件),在Score里可以搜jar包內的字串
- 全局替換文本:ctrl+shift+r
4、復制/移動上一行下一行、刪除一行
- 刪除一行:ctrl+y(不會復制)
- 刪除并復制當前行ctrl+x(不好用,其實是剪切一行的意思)
- 復制一行(到下面):ctrl+d
- 移動一行(上下):alt+shift+↑↓
5、撤銷、恢復、回到最后編輯的地方
- 撤銷:ctrl+z
- 恢復:ctrl+shift+z (可能和搜狗輸入法沖突)
- 回到最后編輯位置:ctrl+shift+backspace
- 回到上一處:ctrl+alt+左右箭頭(類似Eclipse的alt+左右箭頭)
- 修改impl希望intf方法同步
- 新增impl方法,intf中沒有,可以alt+enter自動生成在intf中
- 如果impl和intf中都有該方法,想要增減方法入參、修改入參類型是不行的,用alt+enter會重新生成新的。當然可以手動刪除舊的
- 修改impl的方法返回類型,是可以alt+enter更新intf的
- 修改impl的方法拋出異常,是可以alt+enter更新intf的
- 新增impl方法,intf中沒有,可以alt+enter自動生成在intf中
- 移動代碼:ctrl+shift+↑↓(選中一行或多行)
- 復制代碼:(暫時沒有)
- 代碼提示:Ctrl+空格(類似Eclipse的alt+/,跟輸入法沖突)
- 預覽類的全包名,方法的簽名聲明:ctrl+鼠標移上去
6、注釋、格式化、set/get/toString/構造器
-
注釋和取消注釋一行:ctrl+/
-
注釋和取消多行:ctrl+shift+/
格式化代碼:ctrl+alt+l (有些IDEA必須大寫L,按shift;有些不用) -
格式化選中的代碼:先選中再ctrl+alt+l
-
插入set/get/toString/構造器:alt+insert
7、接口追蹤方面、跳到指定行
- 點擊方法名進入接口:ctrl+點擊方法名
- 點擊方法名直接進入實現:ctrl+alt+點擊方法名
- 從接口方法跳轉到實現:點擊左邊的向下的綠色圖標
- 從實現方法跳轉到接口:點擊左邊的向上的綠色圖標
- 類里查找方法(類似ctrl+o):ctrl+f12
- 查找某個方法的調用者:alt+f7(ctrl+alt+h也行)
- 查找某個類的引用者:alt+f7 (會列出作為入參以及其他各種情形的依賴)
- 查找某個方法在本類的調用者:ctrl+f7(基本無用,被本方法多出引用也只是跳到第一處)
- 跳到某一行號:ctrl+g
8、Debug常用快捷鍵
- F7:在 Debug 模式下,進入下一步,如果當前行斷點是一個方法,則進入當前方法體內,如果該方法體還有方法,則不會進入該內嵌的方法中 (必備)
- F8:在 Debug 模式下,進入下一步,如果當前行斷點是一個方法,則不進入當前方法體內 (必備) (可能與有道詞典快捷鍵沖突)
- F9:在 Debug 模式下,恢復程序運行,但是如果該斷點下面代碼還有斷點則停在下一個斷點上 (必備)
- Alt+F8:在 Debug 的狀態下,選中對象,彈出可輸入計算表達式調試框,查看該輸入內容的調試結果 (必備)
- Ctrl+F8:在 Debug 模式下,設置光標當前行為斷點,如果當前已經是斷點則去掉斷點
- Shift+F7:在 Debug 模式下,智能步入。斷點所在行上有多個方法調用,會彈出進入哪個方法
- Shift+F8:在 Debug 模式下,跳出,表現出來的效果跟 F9 一樣
- Ctrl+Shift+F8:在 Debug 模式下,指定斷點進入條件
- Alt+Shift+F7:在 Debug 模式下,進入下一步,如果當前行斷點是一個方法,則進入當前方法體內,如果方法體還有方法,則會進入該內嵌的方法中,依此循環進入
非常詳細的debug教程:https://www.jb51.net/article/122965.htm
9、模板
1、fori:for循環代碼,用i變量
1、iter:foreach代碼
99、其他
- 關閉當前文件:ctrl+f4
- 重命名某個變量或方法名:shift+f6
- 打開指定文件所在explorer:右擊文件->Show in Explorer
- 打開最近的文件列表:ctrl+e
- ctrl+c/x:若光標未選中東西,是復制或剪切光標所在行
- 定位到左邊的文件位置:Autoscroll From Source
- idea怎么查看所有的斷點:進入Debug視圖->點擊View Breakpoints
- out里頭是編譯后的class文件,只有被運行的類,才會被編譯。
- 最大化/最小化當前窗口:ctrl+shift+f12
- 全大寫/全小寫:ctrl+shift+u(不斷切換大小寫)
- 查看子類:ctrl+h
- 查看類中的所有方法:點擊左邊的
Structure
視圖,可以搜索(對比cmd+f12只能臨時展示不能長久)
運行maven命令、運行main傳參
-
maven命令
- 選擇工具欄的
Edit Configurations
,然后點擊+
號,選擇Maven
,然后編輯標題Name
(也可默認),輸入Command Line
(無需mvn),需要的話填寫Profiles
- 選擇工具欄的
-
運行 main 方法
也是編輯
Edit Configurations
,在VM options
、Program arguments
、Environment variables 中填入所需
- 傳參數到main方法
- 傳VM參數
- 傳環境變量參數:程序中用System.getenv獲取,System.getProperty獲取不了
刪掉啟動頁無用的project(強迫癥)
在 詢問進入什么Project的頁面
直接點擊x進行刪除,但是實際的.idea和*.iml文件并未刪除,需要手動刪除
git文件的狀態
是用顏色標注的https://www.jetbrains.com/help/idea/2017.1/file-status-highlights.html
導出配置
導出、導入idea的配置,在遷移的時候不用這么倉促
導入項目
導入(import)和打開(open)的區別是,導入指之前可能是Eclipse的項目,需要導入,打開是指打開本地已經是IDEA項目接口的
- 本身就是idea的項目(有*.iml、.idea項目文件),或者本身不屬于idea也不屬于Eclipse,直接File->Open即可
IDEA 圖標含義
- https://blog.csdn.net/jenrey/article/details/80077783 (非官方)
- https://www.jetbrains.com/help/idea/symbols.html (官方英文)
========================================================================
導入的選擇
https://blog.csdn.net/qq_2300688967/article/details/81481093
熟悉IDEA
-
可以導入整個目錄,即使是不關聯的一堆project在文件系統上是放在同一目錄,就可以引入,這樣只需要啟動一個idea即可
-
導入舊項目
- Create project from existing sources:只能導入使用idea創建的項目源碼
- Import project from external model:可以導入非idea創建的項目源碼。假設是eclipse創建的源碼,要選擇maven而不是eclipse
- (以前用idea創建,后來從idea的welcome中刪除,此次是再次導入)
- (以前是eclipse創建的):要選擇maven
-
idea的項目文件都有什么文件:idea目錄和*.iml文件
-
刪除項目(像eclipse那種delete)
-
創建單springboot項目
-
創建spring cloud項目
導入:
刪除項目:可以刪除.idea 和 *.iml重新來一遍
Ctrl+E或者Alt+Shift+C 最近更改的代碼
Ctrl+Shift+Space 自動補全代碼
Ctrl+Alt+Space 類名或接口名提示
Ctrl+P 方法參數提示
Ctrl+J 自動代碼
Ctrl+E 最近打開的文件
Ctrl+H 顯示類結構圖
Ctrl+Q 顯示注釋文檔
Alt+F1 查找代碼所在位置
Alt+1 快速打開或隱藏工程面板
Ctrl+Alt+ left/right 返回至上次瀏覽的位置
Alt+ left/right 切換代碼視圖
Alt+ Up/Down 在方法間快速移動定位
Ctrl+Shift+Up/Down 代碼向上/下移動。
F2 或Shift+F2 高亮錯誤或警告快速定位
代碼標簽輸入完成后,按Tab,生成代碼。
選中文本,按Ctrl+Shift+F7 ,高亮顯示所有該文本,按Esc高亮消失。
Ctrl+W 選中代碼,連續按會有其他效果
選中文本,按Alt+F3 ,逐個往下查找相同文本,并高亮顯示。
Ctrl+Up/Down 光標跳轉到第一行或最后一行下
Ctrl+B 快速打開光標處的類或方法
ctrl雙擊兩次,可以運行cmd
其他經驗
- 斷點打在方法上,似乎會影響springboot項目啟動的速度(debug的小窗口會彈出提示)
- 在項目啟動的時候進行編輯代碼,似乎IDEA會變得很卡很慢,例如輸入注釋都會卡(好像也不是這原因卡)
- alt+F7在屬性上,可以查看到該屬性的setter和getter被調用的地方. 例如對于使用lombok的類的setter和getter都沒有了,所以不能單獨查看setter或getter的調用鏈.
- shift+f6重命名方法名
- 會提示建議的方法名
- 假如重命名impl的方法:提示要
Rename base method
還是Rename only current method
。前者改intf和impl,后者僅改impl - 假如重命名intf的方法:不提示上述兩個情況
- ctrl+鼠標點擊方法,可以到達該方法被調用的地方
- ctrl+shif+n搜索文件,向打開多個,可以選擇多個后敲回車(但不能選中多個后用鼠標點其中一個,只能打開一個!)
- IDEA右下角有個"小人",點擊后如果把
Highlighting Level
改成None
,則如果文件編譯出問題,也不會提示,需要特別注意
關于拷貝
打開后在文件名右鍵,顯示菜單如下
在左邊的文件導航樹狀結構選中文件并右鍵,顯示菜單如下
- 拷貝類帶包名:CopyReference,在別的編輯器例如vscode中可以粘貼出 “包名+類名”的格式。但是在idea里粘貼要不能用cmd+v,必須用
Paste without formatting
- 得到文件的絕對路徑,
copy path
其他技巧
如果你想找IDEA某個菜單,但是不知道菜單在哪里,可以Help->Search。注意:這個只能搜索菜單,不能搜索首選項里頭的東西
mybatis系列的插件
MyBatisX
- 使用概述:
在java接口和xml文件之間互相跳轉,寫了java接口后,可快速手動生成xml代碼,在使用idea連接數據源后,還可以提供表字段提示等等,集成 MybatisPlus 代碼生成 - 詳細使用
https://mp.baomidou.com/guide/mybatisx-idea-plugin.html#功能
MyBatisCodeHelperPro
MyBatis Log Plugin (已經要付費了)
注意必須在console打印出sql語句
MybatisLogFormat(sql還原帶參形式,不推薦)
注意必須在console打印出sql語句
不推薦,至少1.3版本都有嚴重的bug,例如生成的sql對于String類型居然不用單引號引起來
Mybatis Log(sql還原帶參形式,無菜單)
沒有右鍵菜單,選中目標日志后,按下快捷鍵ctrl+shift+h,沒有任何提示,填入參數后的sql就復制進剪切板了。注意必須在console打印出sql語句
mac版不知道是不是快捷鍵沖突,不能正常使用,并且這款軟件交互非常之差,首先快捷鍵是些死的就容易沖突,其次應該要提供右鍵裁判,再次需要有反饋,格式化出錯或者成功,應該有要有提醒。
chrome配置
chrome地址欄顯示完整地址
-
【過時】網上通過
chrome://flags/
搜到的很多是舊版的Omnibox UI Hide Steady-State URL Scheme and Trivial Subdomains
,新版chrome取消了該設置 -
【過時】經過激烈的反對,76版移除的開關,在83版開始又重新加回來了,不過不是原來的名字
- 操作步驟:
以我的最新版的谷歌瀏覽器( 83.0.4103.116 (正式版本) ( 64 位))為例,如何顯示完整http(s)://www.
? 訪問:chrome://flags/
,搜索context-menu-show-full-urls
,改成 Enabled,重啟瀏覽器,重啟后還不行,還需要右鍵點擊地址欄,彈出的右鍵菜單中選擇 “總是顯示完整網址” 勾上,無需重啟瀏覽器立即生效
- 操作步驟:
-
【目前最新(94版本自測)】最新的連
context-menu-show-full-urls
選項都搜不到,直接這么操作即可: “右鍵點擊地址欄,彈出的右鍵菜單中選擇 ‘總是顯示完整網址’ 勾上,無需重啟瀏覽器立即生效”
safari顯示完整的網址
偏好設置->“高級” tab頁->勾選 “顯示完整網站地址” (雖然把www顯示出來了,但是http(s)還是不展示!!!有沒有辦法http(s)展示出來?暫時無解)