idea常做的配置改動和常用插件

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,詳細改動如下 (全局生效

  1. 修改 Maven home directory,瀏覽到自己的maven目錄
  2. Local repository似乎會根據上一個步驟自動修正(根據M2_HOME的settings.xml的配置確定)
  3. 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下載源碼和文檔

不建議是太建議,耗磁盤容量,下載慢

  1. 找到菜單
  • 若想僅僅本工程生效:File->Settings
  • 若想全局生效:File->Other Settings->Settings for New Projects
  1. 搜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->SettingsOther Settings->Settings for New Projects里都有該配置項,但兩處并不是獨立的,在其中一處修改,另外一處受影響

7、設置作者信息快捷鍵(LiveTemplate)

  1. File->Settings->Editor->Live Templates

  2. 點擊右上角的加號,選擇新建分組,用于包含自己新增的LiveTemplate,選擇 Template Group...

  3. 輸入名字,例如 MyCustomGroup,點擊OK

  4. 選中新建的分組,點擊右上角的加號,這次選擇 Live Template

  5. 輸入Abbreviation(縮寫,即用來觸發的單詞),以及Description(描述,會出現在提示框后側,詳見后圖)。例如輸入zz,描述是作者信息

  6. Template text中輸入模板信息,如果帶有變量,則自動檢測到變量后右邊的Edit variables 會亮起來
    例如值:

    /**
    *

    • @author Stone
    • @date $DATE$
      */

注意:變量的格式不是 ${DATE},而是 $變量名$

  1. 點擊 Edit variables,輸入Expression,用于告知要怎么取值,例如用 date()表示取當前日期,點擊OK
  2. 可以看到No applicable contexts,點擊 Define,勾選Java全部
  3. 最終點擊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、去掉拼寫檢查

  • 怎么把某個單詞加入到詞典中
    • 例如 hbaserowkey 這種,會被認為是拼寫錯誤。只需要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 選擇Lombok
  • Generate 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的
  • 移動代碼: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 optionsProgram argumentsEnvironment 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)展示出來?暫時無解)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89411.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89411.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89411.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

3. 物理信息神經網絡(PINNs)和偏微分方程(PDE),用物理定律約束神經網絡

導言&#xff1a;超越時間&#xff0c;擁抱空間 在前兩篇章中&#xff0c;我們已經走過了漫長而深刻的旅程。我們學會了用常微分方程&#xff08;ODE&#xff09;來描述事物如何隨時間演化&#xff0c;從一個初始狀態出發&#xff0c;描繪出一條獨一無二的生命軌跡。我們還學會…

Flutter基礎(基礎概念和方法)

概念比喻StatefulWidget會變魔術的電視機State電視機的小腦袋&#xff08;記信息&#xff09;build 方法電視機變身顯示新畫面setState按遙控器按鈕改變狀態Scaffold電視機的外殼 StatefulWidget&#xff1a;創建一個按鈕組件。State&#xff1a;保存點贊數&#xff08;比如 i…

K8s——Pod(1)

目錄 基本概念 ?一、Pod 的原理? ?二、Pod 的特性? ?三、Pod 的意義? 狀態碼詳解 ?一、Pod 核心狀態詳解? ?二、其他關鍵狀態標識? ?三、狀態碼運維要點? 探針 ?一、探針的核心原理? ?二、三大探針的特性與作用? ?參數詳解? ?三、探針的核心意義…

MySQL 存儲過程面試基礎知識總結

文章目錄 MySQL 存儲過程面試基礎知識總結一、存儲過程基礎&#xff08;一&#xff09;概述1.優點2.缺點 &#xff08;二&#xff09;創建與調用1.創建存儲過程2.調用存儲過程3.查看存儲過程4.修改存儲過程5.存儲過程權限管理 &#xff08;三&#xff09;參數1.輸入參數2.輸出參…

NLP文本數據增強

文章目錄 文本數據增強同義詞替換示例Python代碼示例 隨機插入示例Python代碼示例 隨機刪除示例Python代碼示例 回譯&#xff08;Back Translation&#xff09;示例Python代碼示例 文本生成模型應用方式示例Python代碼示例 總結 文本數據增強 數據增強通過對原始數據進行變換、…

(LeetCode 每日一題) 594. 最長和諧子序列 (哈希表)

題目&#xff1a;594. 最長和諧子序列 思路&#xff1a;哈希表&#xff0c;時間復雜度0(n)。 用哈希表mp來記錄每個元素值出現的次數&#xff0c;然后枚舉所有值x&#xff0c;看其x1是否存在&#xff0c;存在的話就可以維護最長的子序列長度mx。 C版本&#xff1a; class Sol…

FreePDF:讓看英文文獻像喝水一樣簡單

前言 第一次看英文文獻&#xff0c;遇到不少看不懂的英文單詞&#xff0c;一個個查非常費勁。 后來&#xff0c;學會了使用劃詞翻譯&#xff0c;整段整段翻譯查看&#xff0c;極大提升看文獻效率。 最近&#xff0c;想到了一種更快的看文獻的方式&#xff0c;那就是把英文PD…

Scikit-learn:機器學習的「萬能工具箱」

——三行代碼構建AI模型的全棧指南** ### **一、誕生背景&#xff1a;讓機器學習從實驗室走向大眾** **2010年前的AI困境**&#xff1a; - 學術界模型難以工程化 - 算法實現碎片化&#xff08;MATLAB/C主導&#xff09; - 企業應用門檻極高 > **破局者**&#xff1a;Da…

GPT-1論文閱讀:Improving Language Understanding by Generative Pre-Training

這篇論文提出了 GPT (Generative Pre-Training) 模型&#xff0c;這是 GPT系列&#xff08;包括 GPT-2, GPT-3, ChatGPT, GPT-4 等&#xff09;的奠基之作。它標志著自然語言處理領域向大規模無監督預訓練任務特定微調范式的重大轉變&#xff0c;并取得了顯著的成功。 文章鏈接…

Hadoop大數據-Mysql的數據同步工具Maxwell安裝與使用( 詳解)

目錄 一、前置基礎知識 1、主從復制&#xff08;Replication&#xff09; 2、數據恢復 3、數據庫熱備 4、讀寫分離 5、存儲位置及命名 二、Maxwell簡介 1、簡介 2、Maxwell同步數據特點 2.1.歷史記錄同步 2.2.斷點續傳 三、前期準備 1、查看網卡&#xff1a; 2、…

分布式系統的一致性模型:核心算法與工程實踐

目錄 一、分布式一致性的核心挑戰二、主流一致性算法原理剖析1. Paxos&#xff1a;理論基礎奠基者2. Raft&#xff1a;工業級首選方案3. ZAB&#xff1a;ZooKeeper的引擎 三、算法實現與代碼實戰Paxos基礎實現&#xff08;Python偽代碼&#xff09;Raft日志復制核心邏輯 四、關…

Apache HTTP Server部署全攻略

httpd 簡介 httpd&#xff08;Apache HTTP Server&#xff09;是一款歷史悠久的開源 Web 服務器軟件&#xff0c;由 Apache 軟件基金會開發和維護。自 1995 年首次發布以來&#xff0c;Apache 一直是 Web 服務器領域的領導者&#xff0c;以其穩定性、安全性和靈活性著稱。根據…

信號處理學習——文獻精讀與code復現之TFN——嵌入時頻變換的可解釋神經網絡(下)

書接上文: 信號處理學習——文獻精讀與code復現之TFN——嵌入時頻變換的可解釋神經網絡&#xff08;上&#xff09;-CSDN博客 接下來是重要的代碼復現&#xff01;&#xff01;&#xff01;GitHub - ChenQian0618/TFN: this is the open code of paper entitled "TFN: A…

線上故障排查:簽單合同提交報錯分析-對接e簽寶

在企業管理系統中&#xff0c;合同生成與簽署環節至關重要&#xff0c;尤其是在使用第三方平臺進行電子簽署時。本文將通過實際的報錯信息&#xff0c;分析如何進行線上故障排查&#xff0c;解決合同生成過程中出現的問題。 #### 1. 錯誤描述 在嘗試生成合同并提交至電子簽署…

知攻善防靶機 Linux easy溯源

知攻善防 【護網訓練-Linux】應急響應靶場-Easy溯源 小張是個剛入門的程序猿&#xff0c;在公司開發產品的時候突然被叫去應急&#xff0c;小張心想"早知道簡歷上不寫會應急了"&#xff0c;于是call了運維小王的電話&#xff0c;小王說"你面試的時候不是說會應急…

原神八分屏角色展示頁面(純前端html,學習交流)

原神八分屏角色展示頁面 - 一個精美的前端交互項目 項目簡介 這是一個基于原神游戲角色制作的八分屏展示頁面&#xff0c;采用純前端技術實現&#xff0c;包含了豐富的動畫效果、音頻交互和視覺設計。項目展示了一些熱門原神角色&#xff0c;每個角色都有獨立的介紹頁面和專屬…

華為認證二選一:物聯網 VS 人工智能,你的賽道在哪里?

一篇不講情懷只講干貨的科普指南 一、華為物聯網 & 人工智能到底在搞什么&#xff1f; 華為物聯網&#xff08;IoT&#xff09; 的核心是 “萬物互聯”。 通過傳感器、通信技術&#xff08;如NB-IoT/5G&#xff09;、云計算平臺&#xff08;如OceanConnect&#xff09;&…

CloudLens for PolarDB:解鎖數據庫性能優化與智能運維的終極指南

隨著企業數據規模的爆炸式增長,數據庫性能管理已成為技術團隊的關鍵挑戰。本文深入探討如何利用CloudLens for PolarDB實現高級監控、智能診斷和自動化運維,幫助您構建一個自我修復、高效運行的數據庫環境。 引言:數據庫監控的演進 在云原生時代,傳統的數據庫監控方式已不…

MySQL中TINYINT/INT/BIGINT的典型應用場景及實例

以下是MySQL中TINYINT/INT/BIGINT的典型應用場景及實例說明&#xff1a; 一、TINYINT&#xff08;1字節&#xff09; 1.狀態標識 -- 用戶激活狀態&#xff08;0未激活/1已激活&#xff09; ALTER TABLE users ADD is_active TINYINT(1) DEFAULT 0; 適用于布爾值存儲和狀態碼…

YOLOv13:最新的YOLO目標檢測算法

[2506.17733] YOLOv13: Real-Time Object Detection with Hypergraph-Enhanced Adaptive Visual Perception Github: https://github.com/iMoonLab/yolov13 YOLOv13&#xff1a;利用超圖增強型自適應視覺感知進行實時物體檢測 主要的創新點提出了HyperACE機制、FullPAD范式、輕…