<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    IDEA 30 個天花板技巧,擼碼直接起飛。。。

    VSole2023-01-03 09:28:24

    1.查看代碼歷史版本

    鼠標在需要查看的java類 右鍵 找到Local History >> Show History 點開即可看到歷史版本,常用于自己忘記代碼改了哪些內容 或需要恢復至某個版本 (注意 只能看近期修改 太久了也是看不到的)

    2.調整idea的虛擬內存

    盡管本質都是去改變 .vmoptions配置文件,但推薦使用Change Memory Settings去調整,選擇Edit Custom VM Options 或者在本地磁盤目錄更改,通過某些方法破解的idea 很可能造成idea打不開的情況

    3.idea設置成eclipse的快捷鍵

    這對eclipse轉idea的開發人員來說 非常友好,這樣不需要記兩套快捷鍵

    4.設置提示詞忽略大小寫

    把這個勾去掉,(有的idea版本是選擇選項 選擇none即可),例如String 輸入string 、String 都可以提示

    5.關閉代碼檢查

    與eclipse類似,idea也可以自己關閉代碼檢查 減少資源使用,但不推薦全部關閉,(是大佬當我沒說),把我們項目中不會使用到的關閉就好了

    6.設置文檔注釋模板

    文檔注釋快捷鍵及模板

    https://blog.csdn.net/qq_36268103/article/details/108027486

    7.顯示方法分隔符

    方便查看方法與方法之間的間隔,在代碼不規范的項目中 很好用!

    8.設置多行tab

    idea默認是選擇顯示單行的,我們把這個去掉,就可以顯示多行tab了,在打開tab過多時的場景非常方便!

    8.1 tab過多會自動關閉

    settings - editor - General - Editor tabs - tab limit 數值設大就好了

    9.快速匹配方法的大括號位置

    ctrl+[ ctrl+] 可以快速跳轉到方法大括號的起止位置,配合方法分隔符使用,不怕找不到方法在哪兒分割了

    10.代碼結尾補全

    例如一行代碼補全分號,或者是if(xxx) 補全大括號,按ctrl+shift+enter 無需切換鼠標光標,大幅度提升了編碼效率

    11.模糊搜索方法

    例如People類里面的test方法,按ctrl+shift+alt+n 輸入Peo.te 就可以查到該方法了,如果覺得這個快捷鍵難記 也可以按ctrl+shift+r (查找某個文件名的快捷鍵 下圖中的Files),再手動選擇Symbols

    12.預覽某個類的代碼

    例如People類里面的test方法,按ctrl+shift+a

    例如我們在test類中,有句代碼:People p = new People(); 我們想稍微查看一下People這個類,但是tab已經夠多了,ctrl+alt+b會打開新的標簽,標簽多了就混亂了,尤其一堆命名類似的tab,這時候我們可以按ctrl+shift+i 實現預覽功能,不占tab

    13.查看方法在哪里被調用

    ctrl+alt+h 可以清楚看到方法在哪些地方被調用;在知道這個快捷鍵之前,都是ctrl+h(idea默認 ctrl+shift+f)搜索,肉眼找的…

    14.代碼模板(代碼快捷鍵)

    例如 : eclipse 中的syso是打印控制臺輸出 ,但是idea默認是sout , 如果非要改成syso 可以在Postfix Completion里面設置,類似的 fori等都是在里面設置

    15.自動導包、自動移除沒用的包

    15.1 手動導包 :alt+enter 手動移除未使用包: crtl+alt+o


    16.codota插件:可以優先顯示使用頻率較高的類、方法

    這個根據個人是否要使用 有的時候工具只能作參考,自己記憶才能保證準確

    17.快速查看類、字段的注釋

    這是一個很有用的小技巧 按F2可以快速查看某個類或某個字段的文檔注釋 ;基于這點 其它IDE應該也是可以快速查看文檔注釋內容 不僅僅是idea特性,這也是為什么阿里編碼規范里面會明確聲明實體類字段需要用文檔注釋 而不能使用雙斜杠// 注釋 ,還記得剛看到這個規范的時候 很不理解 特地去百度 看到有人說就是個習慣問題 很顯然不能說服人,直到發現F2可以快速查看之后 恍然大悟!


    18.括號顏色區分

    Rainbow Brackets 插件 成對的括號用相同的顏色表示出來了

    19.微服務項目中將不同項目添加到同一個啟動窗口

    步驟:View ——>Tool Windows ——> services ——>add services

    20.idea全局設置(打開新窗口設置)

    例如我們打開新窗口時,maven配置會恢復 這時就需要對打開新窗口的設置進行修改 達到一個全局的目的。

    在低版本idea中 也是在File下 例如idea2018是叫other settings


    21.java mapper層代碼文件和mapper.xml文件相互跳轉

    Free MyBatis plugin 插件

    點擊綠色箭頭可以直接跳轉 非常方便

    22.設置idea背景圖片

    BackgroundImage插件

    設置喜歡的圖片作為背景圖

    23.maven tree(查看maven jar包依賴關系)

    如果是使用 mvn dependency:tree 命令 , 結果是下圖這樣 很不方便查看

    我們可以在idea右上角點擊這個ShowDependencies按鈕 以圖片形式展示出來 圖片按住ctrl和鼠標滑輪 可以放大,這個在排除依賴沖突 查看jar包來源時 非常好用

    有的時候 可能莫名其妙看不到這個圖標 ,我們可以點一下設置

    把這個勾上,它就能顯示了,等顯示后,再把這個勾去掉

    24.快捷鍵切換回上一個點開的tab

    當我們打開了多個tab的時候 , 想要快速回到上一個點擊的tab中 有的時候肉眼很難找

    我們可以用快捷鍵 alt + ← 鍵 (eclipse版快捷鍵 idea默認快捷鍵需要自測) ,有的時候我們在后面tab編輯了內容 按一次可能不夠 需要再多按幾次 ,相應的 alt + → 切換到下一個點擊的tab

    常見應用場景:debug發生類跳轉時 、利用快捷鍵在其它類中創建方法時

    即使兩個tab不相鄰 也可以切換回去

    25.idea自帶的ssh連接工具

    類似的idea還有自帶的數據庫連接工具 但是視圖界面并不如Navicat 所以很多人都不選擇用
    • 第一步:配置賬號密碼

    • 第二步:開啟ssh會話

    26.代碼調用鏈路圖插件

    SequenceDiagram 插件

    這其實是本文第13點的上位替代方案,idea自帶的快捷鍵查看代碼調用,只是以菜單形式展示,不太直觀,如果是自己寫的代碼或比較規范的代碼,那用自帶的也就無所謂,如果是比較復雜的源碼或不規范的代碼,那使用 SequenceDiagram 會直觀特別多。

    在要查看的java文件鼠標右鍵,點擊 Sequence Diagram

    效果示例:

    27.獲取當前線程dump

    在斷點調試的時候,我們可以通過點擊下圖紅色箭頭指向的相機圖標,獲取當前線程的dump信息。

    這個功能有什么用呢?我們可以通過線程名,分析當前是哪個線程執行的,在多線程環境下對代碼運行分析起到輔助作用。

    比如下圖1, run()方法是通過main主線程執行的,只是方法調用,并沒有啟動多線程(這是我們熟知結論的實踐證明)

    當我們把run方法改成start()方法時,可以看到是線程thread0執行的。

    28.idea同個項目不同端口多開

    這是個非常實用的功能,可以模擬集群 測試負載均衡。

    此外 在開發階段也是非常好用,開發過程中,讓別人直接連自己本地測試 是不是非常方便?

    那自己又想打斷點調試 會影響別人 怎么辦呢 ?這個時候多開的作用就體現出來了!

    網上很多方法提到勾選 Allow parallel run (不同版本idea 名稱不一樣) ,我也親眼見過有老師是可以多開啟動的, 但我本地啟動發現每次都會同時同端口啟動多個,不知道是版本問題還是操作問題,這里我用的是另一種有效的方法:

    VM options 加上

    # 8993是區別于 application.yml 配置中 port 的另一個端口,達到不同端口多開的效果
    -Dserver.port=8993
    

    ideaidea全局搜索
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    我們可以通過線程名,分析當前是哪個線程執行的,在多線程環境下對代碼運行分析起到輔助作用。
    前幾個月被授權進行某大型運營商的滲透,在過程中也是遇到了一些比較有意思的東
    項目安裝迷你天貓商城是一個基于Spring Boot的綜合性B2C電商平臺,需求設計主要參考天貓商城的購物流程:用戶從注冊開始,到完成登錄,瀏覽商品,加入購物車,進行下單,確認收貨,評價等一系列操作。作為迷你天貓商城的核心組成部分之一,天貓數據管理后臺包含商品管理,訂單管理,類別管理,用戶管理和交易額統計等模塊,實現了對整個商城的一站式管理和維護。
    之前逛GitHub的時候看到一個老同事寫的一個插件,于是就多喵了兩眼,然后發現其實這個插件還是很實用的,于是就安裝使用了。
    前言最近一段時間在研究Android加殼和脫殼技術,其中涉及到了一些hook技術,于是將自己學習的一些hook技術進行了一下梳理,以便后面回顧和大家學習。主要是進行文本替換、宏展開、刪除注釋這類簡單工作。所以動態鏈接是將鏈接過程推遲到了運行時才進行。
    聊一聊新版本的幾個主要功能更新和改進。
    調用了mbsInterceptor屬性的registerMBean方法進行注冊,這里的mbsInterceptor屬性即是DefaultMBeanServerInterceptor對象,跟進一下。最后調用了registerWithRepository進行進一步的注冊。在這個方法中,調用了該類的repository屬性的addMBean方法進行MBean的添加。
    忽略/dist目錄,相對.gitignore文件所在目錄。本地.gitignore文件與其他開發人員共享,并且應包含對存儲庫的所有其他用戶有用的模式。輸出顯示gitignore文件的路徑,匹配行的編號和實際模式。
    在重要的生產網中,目標服務器無法外聯,而遇到Apache Flink情況下如何寫內存馬,本文對這一有趣實踐過程做了一個記錄。但很可惜,筆者找了一圈,沒有發現相關的靜態變量,無法獲取到該路由對象。本文主要圍繞如何使用該方法實現 flink 內充馬進行講述。的限制,我們的 agent 需要先落地到系統中,而執行 loadAgent 這一操作的程序我們被稱為 starter。
    將Sonar引入到代碼開發的過程中,提供靜態源代碼安全掃描能力。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类