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

從 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)

    分享創造快樂