歡迎光臨
每天分享高質量文章

從 Eclipse 到 IDEA,金字塔到太空堡壘

點擊上方“芋道原始碼”,選擇“置頂公眾號”

技術文章第一時間送達!

原始碼精品專欄

 

來源:https://dwz.cn/GK0qCIMj

1. 前言

工欲善其事,必先利其器。對於程式員來說,具有生產力的工具能讓你事半功倍,心情大好。
兩個月前從Eclipse轉到了InteliJ IDEA,原先常用Eclipse如同身邊的保溫杯,如果不出毛病,大概我是不會考慮換掉他。中間想偶爾嘗試一下IDEA,因為遇到各種不適應,就退回來了。這次要換掉Eclipse是因為一個莫名的bug導致我專案編譯卡死,反覆出現好幾次後,決定棄用他。

Tips:下麵博文中的圖片都比較大,可以右鍵在新標簽打開查看大圖!

2. IDEA 有什麼好?

換到IDEA並漸漸適應之後,用一個詞形容這款IDE,就是:現代。
再看Eclipse,如同埃及金字塔,精巧但粗糲、宏偉但遲鈍。而IDEA如同太空堡壘,精緻大氣、舒適內斂。
因為我對IDEA非常有好感,決定向你推銷一下。讓我們先來看看他那些讓人不可自撥的功能吧:

2.1 插件安裝

在Eclipse上安裝一款插件,要到marketplace中搜索,點擊install。因為跨國網絡訪問,所以一般下載插件會很慢。
在IDEA上安裝插件,邏輯相似,Ctrl+Alt+S呼出Settings,找到Plugins進行搜索,如果沒有找到會跳轉到遠程倉庫,然後install即可。
不過對於有些插件來說,IDEA上的安裝流程比Eclipse順暢了不止一個級別,比如大家常用的lombok,Eclipse上安裝過程繁瑣不說了,IDEA上呢:

img


如果沒有安裝,點擊右側install,然後重啟IDEA即可。

不光是lombok,諸如GoLang、C、Python的這種語言擴展插件,IDEA上的體驗也比Eclipse好上一個等級。例如Go插件:

img


IDEA自帶了智慧提示,不用配置,開箱即用。最重要的是,在IDEA中開發Go和開發Java一樣順手,快捷鍵是一致的,提示與代碼生成、插入是一致的,這在Eclipse上幾乎不可實現。我安裝過Eclipse的Python語言擴展插件,和在Eclipse上編寫Java是有一定落差的,而在IDEA上不會,他給你的體驗是一致的,這個必須贊。

更棒的時,IDEA自帶了一些非常好用的插件,如HTTP Client:

img

2.2 “專註”視窗

再來看一個“現代”的例子,在IDEA中視窗都是可定製的,如同太空堡壘中的房價可移動一般。
在IDEA中你的界面可能是這樣的:

img


只需要按下Ctrl+Shift+F12就會進入專註樣式,變成了這樣:

img


所有視窗都隱藏起來了。
我為什麼如此喜歡IDEA的視窗呢,是因為他可以層層疊疊如這樣:

img


也可以進入“專註”樣式,清清爽爽。

2.3 除錯

在Eclipse中除錯,你是沒有一種叫“即時視窗”的東西的,他是什麼東西呢:

img


你可以在除錯期間打開“即時視窗”,在其中輸入變數和運算式,他會直接給出你答案,類似Chrome除錯時的Console。

2.4 Git 的使用

在IDEA中使用Git,感覺非常現代,一反Eclipse中Git管理的笨重和粗糙。只需要Ctrl+K就會出現Commit界面,Revert、Diff等等讓你體驗非常自然。

3. 怎麼走出 Eclipse 的舒適區

簡單看了一下IDEA的優點,不知道你是否有點心動呢?Eclipse如同一條舊毛毯,有感情但卻不舒適。如果你像我一樣有不適應的顧慮,下麵我會詳細說一下要轉到IDEA需要做的一些工作。

3.1 Maven 專案匯入和啟動 Tomcat

首先要轉變的一個觀念是IDEA中沒有工作空間的概念,而用了模塊(Modules)來代替。
當你第一次打開IDEA,走完前置配置之後,可以“Project From Existing Sources”–從現有原始碼匯入專案,如果是Maven專案,直接選中pom.xml檔案即可。
重要的是,如果你想如Eclipse中一樣把很多專案放在一個空間下,你可以這麼做:

  • Ctrl+Shift+Alt+S打開專案結構
  • 找到Modules,點擊上面的加號,選擇Import Modules,再選擇pom.xml檔案即可
  • 如果你想一個專案一個視窗,那麼還是可以選擇“Project From Existing Sources”

如果你的專案用的是Spring Boot,那麼打開啟動類,點擊右側小圖標:

img


就可以直接啟動這個類了。


如果你的專案需要用Tomcat來啟動,那麼找到這個地方:

img


點擊Edit Configurations…,在Templates中找到Tomcat Server,配置Local。
配置完之後,點擊左上角的加號,選擇Tomcat Server–Local,配置端口號等等。重點來了,你需要在Deployment選擇卡中點擊加號,配置Article,Article選擇war exploded型別的war,點擊ok完成配置。
選中你的配置,點擊Run(或Shift+F10)即可運行Tomcat應用。

3.2 快捷鍵映射

要換一個IDE開發,最需要適應的莫過於快捷鍵的使用習慣,下麵我對來個IDE常用的快捷鍵做了一個映射,供大家參考:

操作 Eclipse IDEA
刪除一行 Ctrl+D Ctrl+Y
關閉當前視窗 Ctrl+W Ctrl+F4
上移、下移一行 Alt+↑、↓ Ctrl+Alt+↑、↓
回退操作 Ctrl+Z Ctrl+Z
反向回退 Ctrl+Y Ctrl+Shift+Z
回到上一處編輯 Alt+← Ctrl+Alt+←
提取變數 Ctrl+1 And Ctrl+L Ctrl+Alt+V
添加或取消註釋 Ctrl+/ Ctrl+/
生成Getter、Setter Alt+Shift+S Alt+Insert
光標移到相同的變數 Ctrl+K F3或Ctrl+F7
打開類結構 Ctrl+O Ctrl+F12
顯示類繼承層次 Ctrl+T Ctrl+H
查看方法呼叫鏈 Ctrl+Shift+H Ctrl+Alt+H
檔案內容搜索 Ctrl+H Ctrl+Shift+F
按檔案名搜索 Ctrl+Shift+R Ctrl+Shift+N
格式化代碼 Ctrl+Shift+F Ctrl+Alt+L
代碼摺疊與打開 Ctrl+Shift+*、/ Ctrl+Shift+加號、減號
try-catch包圍 Alt+Shift+S Ctrl+Shift+T

3.3 快捷鍵被占用問題

IDEA中的預設快捷鍵有可能被其他程式占用,例如Windows上IDEA的智慧提示是Ctrl+Space,這個快捷鍵會被系統輸入法切換中英文占用,建議修改為Alt+引號。Ctrl+Alt+S打開Settring,如圖:

img


其他有可能被占用的快捷鍵還有除錯的單步跳過F8,try-catch包圍的Ctrl+Shift+T,我分別改為了F10和Alt+T。

3.4 關閉部分“建議”

使用IDEA過程中,你會發現一些如Office Word似的拼寫檢查,如果你想關閉他,如圖:

img



如果你對 Dubbo / Netty 等等原始碼與原理感興趣,歡迎加入我的知識星球一起交流。長按下方二維碼噢

目前在知識星球更新了《Dubbo 原始碼解析》目錄如下:

01. 除錯環境搭建
02. 專案結構一覽
03. 配置 Configuration
04. 核心流程一覽

05. 拓展機制 SPI

06. 執行緒池

07. 服務暴露 Export

08. 服務取用 Refer

09. 註冊中心 Registry

10. 動態編譯 Compile

11. 動態代理 Proxy

12. 服務呼叫 Invoke

13. 呼叫特性

14. 過濾器 Filter

15. NIO 服務器

16. P2P 服務器

17. HTTP 服務器

18. 序列化 Serialization

19. 集群容錯 Cluster

20. 優雅停機

21. 日誌適配

22. 狀態檢查

23. 監控中心 Monitor

24. 管理中心 Admin

25. 運維命令 QOS

26. 鏈路追蹤 Tracing

… 一共 69+ 篇

目前在知識星球更新了《Netty 原始碼解析》目錄如下:

01. 除錯環境搭建
02. NIO 基礎
03. Netty 簡介
04. 啟動 Bootstrap

05. 事件輪詢 EventLoop

06. 通道管道 ChannelPipeline

07. 通道 Channel

08. 位元組緩衝區 ByteBuf

09. 通道處理器 ChannelHandler

10. 編解碼 Codec

11. 工具類 Util

… 一共 61+ 篇

目前在知識星球更新了《資料庫物體設計》目錄如下:

 

01. 商品模塊
02. 交易模塊
03. 營銷模塊
04. 公用模塊

… 一共 17+ 篇

 

目前在知識星球更新了《Spring 原始碼解析》目錄如下:

 

01. 除錯環境搭建
02. IoC Resource 定位
03. IoC BeanDefinition 載入

04. IoC BeanDefinition 註冊

05. IoC Bean 獲取

06. IoC Bean 生命周期

… 一共 35+ 篇

 

原始碼不易↓↓↓

點贊支持老艿艿↓↓

 

    赞(0)

    分享創造快樂