IntelliJ IDEA 學習筆記

IDEA教學視頻

文章目錄

    • 1.IntelliJ IDEA的介紹和優勢
      • IDEA 的主要優勢
    • 2.版本介紹與安裝前的準備
    • 3.IDEA的卸載
    • 4.IDEA的安裝
    • 5.安裝目錄和設置目錄結構的說明
      • 安裝目錄
      • 設置目錄
    • 6.啟動IDEA并執行HelloWorld
    • 7.Module的使用
    • 8.IDEA的常用設置
    • 9.快捷鍵的設置
    • 10.常用的快捷鍵的使用1
    • 11.常用的快捷鍵的使用2
    • 12.模板及常用模板的演示
    • 13.修改及自定義模板
    • 14.IDEA中添加Tomcat鏡像并部署web工程
    • 15.關聯數據庫
    • 16.版本控制在IDEA中的配置和使用
    • 17.IDEA中的斷點調試
    • 18.IDEA中Maven的配置與使用
    • 19.生成javadoc、清理緩存和索引、插件的下載等

1.IntelliJ IDEA的介紹和優勢

Eclipse是IBM公司研發的。

IDEA是 JetBrains 公司的產品,公司旗下還有其它產品,比如:

  • WebStorm: 用于開發 JavaScript、 HTML5、 CSS3 等前端技術;
  • PyCharm:用于開發 python
  • Android Studio: 用于開發 android(google 基于 IDEA 社區版進行迭代)

IDEA,全稱 IntelliJ IDEA,是 Java 語言的集成開發環境, IDEA 在業界被公認為是最好的 Java 開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、 J2EE支持、 Ant、 JUnit、 CVS 整合、代碼審查、創新的 GUI 設計等方面的功能可以說是超常的。

IDEA 的主要優勢

相較于 Eclipse 而言

  • 強大的整合能力。比如: Git、 Maven、 Spring 等
  • 提示功能的快速、 便捷
  • 提示功能的范圍廣
  • 好用的快捷鍵和代碼模板
  • 精準搜索

IDEA 的下載地址:(官網)

2.版本介紹與安裝前的準備

可不用系統JDK,IDEA自帶JDK

3.IDEA的卸載

在控制面板下刪除

4.IDEA的安裝

從官網下載安裝文件后,隨著安裝文件的安裝向導安裝即可

5.安裝目錄和設置目錄結構的說明

安裝目錄

IntelliJ IDEA安裝目錄內容:

$ ls -X
bin/ #容器,執行文件和啟動參數等
jre64/ #64 位java 運行環境
lib/ #idea 依賴的類庫
license/ #各個插件許可
plugins/ #插件
redist/
product-info.json
build.txt
LICENSE.txt
NOTICE.txt

bin目錄下重要文件

$ ls ./bin | grep 'idea'
idea.exe #32位IDEA啟動文件
idea.exe.vmoptions #32位IDEA的VM配置文件
idea.properties #IDEA屬性配置文件
idea64.exe #64位IDEA啟動文件
idea64.exe.vmoptions #64位IDEA的VM配置文件

根據項目大小及開發機器的性能適度調整IDEA的VM配置參數,或多或少能提高IDEA的性能,從而提升開發效率。

idea64.exe.vmoptions內容一窺

-Xms128m #最小內存數
-Xmx750m #最大內存數
-XX:ReservedCodeCacheSize=240m #保留代碼占用的內存容量
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

設置目錄

查看設置目錄結構

目錄路徑為C:\Users\Administrator.USER-20180302VA\.IdeaIC2018.3

Administrator@USER-20180302VA MINGW64 ~/.IdeaIC2018.3
$ ls
config/  system/

這個設置目錄有一個特性,就是你刪除掉整個目錄之后,重新啟動 IDEA 會再自動幫你生成一個全新的默認配置,所以很多時候如果你把IDEA 配置改壞了,刪掉該目錄,IDEA都會還原到默認。

config目錄是 IntelliJ IDEA 個性化化配置目錄,或者說是整個 IDE 設置目錄。

這個目錄主要記錄了: IDE 主要配置功能、自定義的代碼模板、自定義的文件模板、自定義的快捷鍵、 Project 的 tasks 記錄等等個性化的設置。

system目錄是 IntelliJ IDEA 系統文件目錄,是 IntelliJ IDEA 與開發項目一個橋梁目錄,里面主要有:緩存、索引、容器文件輸出等等

6.啟動IDEA并執行HelloWorld

IntelliJ IDEA 沒有類似 Eclipse 的工作空間的概念( Workspaces),最大單元就是Project。 這里可以把 Project 理解為 Eclipse 中的 Workspace

JDK可使用系統上安裝的或IDEA自帶的。

創建File->New->Project創建一個普通Java項目。接下來按類似Eclipse套路容易創建一個HelloWorld類。

7.Module的使用

  1. Eclipse 中 workspace 相當于 IDEA 中的 Project
  2. Eclipse 中 Project 相當于 IDEA 中的 Module

從 Eclipse 轉過來的人總是下意識地要在同一個窗口管理 n 個項目,這在IntelliJ IDEA 是無法做到的。 IntelliJ IDEA 提供的解決方案是打開多個項目實例,即打開多個項目窗口。 即: 一個 Project 打開一個 Window 窗口。

在 IntelliJ IDEA 中 Project 是最頂級的級別,次級別是 Module。 一個 Project可以有多個 Module。目前主流的大型項目都是分布式部署的, 結構都是類似這種多 Module 結構。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NoQyBw0y-1594692052204)(image/01.png)]

這類項目一般是這樣劃分的,比如: core Module、 web Module、 plugin Module、solr Module 等等,模塊之間彼此可以相互依賴。通過這些 Module 的命名也可以看出,他們之間都是處于同一個項目業務下的模塊,彼此之間是有不可分割的業務關系的。

相比較于多 Module 項目,小項目就無需搞得這么復雜。只有一個 Module 的結構 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 創建項目的時候,默認就是單Module 的結構的。

創建Module:File->New->Module

Module要經過兩次Delete才能在硬盤上真正的抹去

查看項目配置:File->Project Structure

8.IDEA的常用設置

File->Settings

  1. Appearance & Behavior:設置樣式(暗黑模式)
  2. Editor,General:Change font size (Zoom) with Ctrl+Mouse Wheel.
  3. Editor,General:Show quick documentation on mouse move. Delay(ms): 500
  4. Editor,General,Auto Import
    • Add unambiguous imports on the fly
    • Optimize imports on the fly
  5. Editor,General,Appearance:
    • Show line numbers
    • Show method separators 類的每個方法之間放條分割線
  6. Editor,General,Code Completion:
    • Case sensitive completion:IDEA 的代碼提示和補充功能區分大小寫,例如StringBu則會提示,而stringbu則不會提示(2018社區版沒有這選項)
  7. Editor,General,Editor Tabs:
    • Show tabs in one row 在打開很多文件的時候, IntelliJ IDEA 默認是把所有打開的文件名 Tab 單行顯示的。但是我個人現在的習慣是使用多行,多行效率比單行高,因為單行會隱藏超過界面部分 Tab,這樣找文件不方便。
  8. Editor,Font 設置默認的字體、字體大小、字體行間距
  9. Editor,Color Scheme,Color Scheme Font 修改當前主題的字體、字體大小、字體行間距
  10. Editor,Color Scheme,Console Font 修改當前主題的控制臺輸出的字體及字體大小
  11. Editor,Color Scheme,Language Defaults 修改代碼中注釋的字體顏色
    • Doc Comment: 修改文檔注釋的字體顏色
    • Block comment: 修改多行注釋的字體顏色
    • Line comment: 修改當行注釋的字體顏色
  12. Editor,Code Style,Java,imports:設置超過指定 import 個數,改為*
  13. Editor,File and Code Templates,Includes:修改類頭的文檔注釋信息
  14. Editor,File Encodings 設置項目文件編碼(其實IDEA主窗口的右下部分可以設置當前源文件編碼格式)
  15. Build,Execution,Deployment ,Compiler 設置自動編譯(Eclipse默認自動編譯的,而IDEA不是)
    • Build project automatically
    • Compile independent modules in parallel

File->Power Save Mode 省電模式

開啟這種模式之后 IDEA 會關掉代碼檢查和代碼提示等功能。所以一般也可認為這是一種閱讀模式,如果你在開發過程中遇到突然代碼文件不能進行檢查和提示,可以來看看這里是否有開啟該功能。


在代碼展現區,右鍵點擊源碼文件標題tab

  • Split Vertically
  • Split Horizontally

設置代碼水平或垂直顯示。

這個沒有Eclipse功能方便

9.快捷鍵的設置

File->Settings->Keymap

可以設置Eclipse風格的快捷鍵,但始終有些快捷鍵沒有目標效果。

也可以對快捷鍵進行細粒度的修改


查看IDEA默認的Key Map : Help->Keymap Reference

10.常用的快捷鍵的使用1

11.常用的快捷鍵的使用2

12.模板及常用模板的演示

File->Settings

  • Editor – Live Templates 內容能改
  • Editor – General – Postfix Completion 內容不能改

例如:

  1. psvm : 可生成 main 方法
  2. sout : System.out.println() 快捷輸出。類似的:
    • soutp=System.out.println("方法形參名 = " + 形參名);
    • soutv=System.out.println("變量名 = " + 變量);
    • soutm=System.out.println(“當前類名.當前方法”);
    • “abc”.sout => System.out.println(“abc”);
  3. fori : 可生成 for 循環
    • iter:可生成增強 for 循環
    • itar:可生成普通 for 循環
  4. list.for : 可生成集合 list 的 for 循環List list = new ArrayList();輸入: list.for 即可輸出for(String s:list){},又如:
    • list.fori 正序遍歷
    • list.forr 倒序遍歷
  5. ifn:可生成 if(xxx = null),類似的:
    • inn:可生成 if(xxx != null)
    • xxx.nn
    • xxx.null
  6. prsf:可生成 private static final
    • psf:可生成 public static final
    • psfi:可生成 public static final int
    • psfs:可生成 public static final String

13.修改及自定義模板

File->Settings

  • Editor – Live Templates 內容能改
  1. Abbreviation:模板的縮略名稱
  2. Description:模板的描述
  3. Template text:模板的代碼片段

14.IDEA中添加Tomcat鏡像并部署web工程

IDEA旗艦版自帶該功能

社區版的,可使用maven的Tomcat插件,IntelliJ IDEA社區版通過Maven創建J2EE項目

15.關聯數據庫

IDEA旗艦版自帶該Database功能

社區版的,可下載插件Database Navigator實現類似功能

注意,IDEA 2018.3 應下載 Database Navigator 3.2.0589.0。下載較新版本插件安裝后重啟,不能正常使用

IDEA 的 Database 最大特性就是對于 Java Web 項目來講,常使用的 ORM 框架,如 Hibernate、 Mybatis有很好的支持,比如配置好了 Database 之后,IDEA 會自動識別 domain對象與數據表的關系,也可以通過 Database 的數據表直接生成 domain 對象等等。

16.版本控制在IDEA中的配置和使用

File->Setting配置安裝到系統的git的主目錄,配置Github的賬號密碼。

菜單欄的VCS (version control system)包含版本控制相關功能:如checkout git/github(個人) 的項目

引入git/github項目:File->New->Project from Version Constrol

查看本地歷史,無需git:右鍵點擊目標文件、項目->Local History->Show History

17.IDEA中的斷點調試

File->Settings搜尋Debugger(Build,Execution,Deployment)設置 Debug 連接方式,默認是 Socket。 Shared memory 是 Windows 特有的一個屬性,一般在 Windows 系統下建議使用此設置, 內存占用相對較少。

常用斷點調試快捷鍵跟Eclipse類似:

  • step over 進入下一步,如果當前行斷點是一個方法,則不進入當前方法體內
  • step into 進入下一步,如果當前行斷點是一個方法,則進入當前方法體內
  • force step into 進入下一步,如果當前行斷點是一個方法,則進入當前方法體內
  • step out 跳出
  • resume program 恢復程序運行,但如果該斷點下面代碼還有斷點則停在下一個斷點上
  • stop 停止
  • mute breakpoints 點中,使得所有的斷點失效
  • view breakpoints 查看所有斷點

18.IDEA中Maven的配置與使用

Maven 是 Apache 提供的一款自動化構建工具,用于自動化構建和依賴管理。開發團隊基本不用花多少時間就能自動完成工程的基礎構建配置,因為 **Maven 使用了一個標準的目錄結構和一個默認的構建生命周期。**在如下環節中, Maven可減輕開發者工作量。

  • 清理:表示在編譯代碼前將之前生成的內容刪除
  • 編譯:將源代碼編譯為字節碼
  • 測試:運行單元測試用例程序
  • 報告:測試程序的結果
  • 打包:將 java 項目打成 jar 包;將 Web 項目打成 war 包
  • 安裝:將 jar 或 war 生成到 Maven 倉庫中
  • 部署:將 jar 或 war 從 Maven 倉庫中部署到 Web 服務器上運行

File->Settings搜索Maven,配置安裝到系統的Maven

File->Settings搜索Maven->Importing進行配置

  • Import Maven projects automatically:表示 IntelliJ IDEA 會實時監控項目的 pom.xml 文件,進行項目變動設置。
  • Automatically download:在 Maven 導入依賴包的時候是否自動下載源碼和文檔。默認是
    沒有勾選的, 也不建議勾選
  • VM options for importer:可以設置導入的 VM 參數。

19.生成javadoc、清理緩存和索引、插件的下載等

  • 生成javadoc_清理緩存:Tools->Generate JavaDoc
  • 清理緩存或重啟:File->Invalidate Caches / Restart
  • 取消更新:File->Settings搜尋Updates,取消自動Update
  • 管理插件:File->Settings搜尋Plugins,可CRUD插件。Marketplace再失效,可登陸IDEA官方插件網,下載插件到本地進行安裝。

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

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

相關文章

機器學習頂刊文獻_人工智能頂刊TPAMI2019最新《多模態機器學習綜述》

原標題:人工智能頂刊TPAMI2019最新《多模態機器學習綜述》來源:專知摘要:”當研究問題或數據集包括多個這樣的模態時,其特征在于多模態。【導讀】人工智能領域最頂級國際期刊IEEE Transactions on Pattern Analysis and Machine I…

Windows上同時運行兩個Tomcat

步驟 1.獲得免安裝包 從Tomcat官網下載免安裝包。 2.解壓復制 解壓并創建兩個副本tomcat1和tomcat2,它們的路徑分別為: tomcat1:C:\tomcat\double\apache-tomcat-7.0.90-8081tomcat2:C:\tomcat\double\apache-tomcat-7.0.90-…

FFmpeg源代碼簡單分析-其他-libswscale的sws_scale()

參考鏈接 FFmpeg源代碼簡單分析:libswscale的sws_scale()_雷霄驊的博客-CSDN博客_bad dst image pointers libswscale的sws_scale() FFmpeg的圖像處理(縮放,YUV/RGB格式轉換)類庫libswsscale中的sws_scale()函數。libswscale是一…

布朗橋python_MATLAB 里面有哪些加快程序運行速度的方法呢,求分享?

挖墳了…睡不著覺當個備忘錄記一下用過的方法吧1. 循環向量化2. 利用函數的矩陣輸入功能批量處理3. 必須用for且費時的地方改成單層parfor,要是循環次數比cpu核數還少反而會拖慢程序4. 非常大的矩陣的運算可以用gpuArray(這個在matlab 深度學習工具箱中深有體會)5. …

FFmpeg源代碼簡單分析-其他-libavdevice的avdevice_register_all()

參考鏈接 FFmpeg源代碼簡單分析:libavdevice的avdevice_register_all()_雷霄驊的博客-CSDN博客 libavdevice的avdevice_register_all() FFmpeg中libavdevice注冊設備的函數avdevice_register_all()。avdevice_register_all()在編程中的使用示例可以參考文章&#…

Tomcat無需輸入項目名,直接用域名訪問項目

問題 在Tomcat上開發Web應用,通常是將應用放置Tomcat主目錄下webapps,然后在瀏覽器地址欄輸入域名應用名(如http://localhost:8080/app)對應用進行訪問。 為了方便開發,打算直接用域名訪問項目。例如,在瀏…

藍牙該串口設備不存在或已被占用_電腦識別不了串口設備如何解決_電腦檢測不到串口怎么辦...

2015-09-07 10:46:45win8.1系統USB轉串口不能識別設備出現錯誤代碼10的解決方法分享給大家,win8.1系統插入USB設備提示“指定不存在的設備”,左下角有小黃色感嘆號,導致設備無法識別不能識別...2016-12-02 10:52:57一般情況下,win…

FFmpeg源代碼簡單分析-其他-libavdevice的gdigrab

參考鏈接 FFmpeg源代碼簡單分析:libavdevice的gdigrab_雷霄驊的博客-CSDN博客_gdigrab libavdevice的gdigrab GDIGrab用于在Windows下屏幕錄像(抓屏)gdigrab的源代碼位于libavdevice\gdigrab.c。關鍵函數的調用關系圖如下圖所示。圖中綠色背…

分區和分片的區別_PHP: 分區和分片 - Manual

分區和分片數據庫群組是由于各種各樣的原因建立的,他可以提升處理能力、容忍錯誤,并且提升大量服務器同時工作的的性能。群組有時會組合分區和共享功能,來將大量復雜的任務分拆成更加簡單的任務,更加可控的單元。插件可以支持各種…

Ubuntu安裝GmSSL庫適用于ubuntu18和ubuntu20版本

參考鏈接 編譯與安裝【GmSSL】GmSSL 與 OpenSSL 共存的安裝方法_阿卡基YUAN的博客-CSDN博客_openssl和gmssl在Linux下安裝GmSSL_百里楊的博客-CSDN博客_安裝gmssl ubuntu18操作 需要超級管理員權限本人將下載的安裝包master.zip和安裝的位置都設定在/usr/local下創建文件夾/u…

Windows7右鍵菜單欄添加打開cmd項

背景簡介 眾所周知,在Linux桌面操作系統中的工作目錄窗口中,單擊鼠標右鍵,彈出的菜單欄通常有一項“打開終端”,然后移動鼠標點擊該項,就可以打開Shell窗口,在當前工作目錄進行命令行操作。 但是&#xf…

python11_Python11,文件操作

整了這么多雜七雜八又“沒用”的,終于來點實際的操作了。Python中用open()方法來對打開文件。我們來看看它的用法:path "C:\\Users\Frank\Desktop\\text.txt"f open(path,r,encoding"utf-8")首先給變量path指定一個路徑&#xff0…

在ubuntu環境下執行openssl編譯和安裝

參考鏈接 工具系列 | Ubuntu18.04安裝Openssl-1.1.1_Tinywan的技術博客_51CTO博客密碼學專題 openssl編譯和安裝_MY CUP OF TEA的博客-CSDN博客_openssl 編譯安裝 下載 /source/index.html編譯 使用命令sudo tar -xvzf openssl-1.1.1q.tar.gz 解壓。使用cd openssl-1.1.1q/進…

chrome 使用gpu 加速_一招解決 Chrome / Edge 卡頓緩慢 讓瀏覽器重回流暢順滑

最近一段時間,我發現電腦上的 Chrome 谷歌瀏覽器越用越卡了。特別是網頁打開比較多,同時還有視頻播放時,整個瀏覽器的響應速度都會變得非常緩慢,視頻也會卡頓掉幀。 我用的是 iMac / 32GB 內存 / Intel 四核 i7 4Ghz CPU,硬件性能應該足以讓 Chrome 流暢打開幾十個網頁標簽…

CLion運行程序時添加命令行參數 即設置argv輸入參數

參考鏈接 CLion運行程序時添加命令行參數_三豐雜貨鋪的博客-CSDN博客_clion命令行參數 操作流程 Run -> Edit -> Configuration -> Program arguments那里添內容最快捷的方式是,點擊錘子編譯圖標和運行圖標之間的的圖標,進行Edit Configurati…

python的userlist_Python Collections.UserList用法及代碼示例

Python列表是array-like數據結構,但與之不同的是它是同質的。單個列表可能包含數據類型,例如整數,字符串以及對象。 Python中的列表是有序的,并且有一定數量。根據確定的序列對列表中的元素進行索引,并使用0作為第一個…

解決 SSL_CTX_use_certificate:ca md too weak:ssl/ssl_rsa.c 問題

報錯原因分析 原因是openssl調整了安全級別,要求ca具備更高等級的安全,因此先前發布的證書,如果采用了不安全的算法,比如MD5,就會顯示上述這個錯誤 解決辦法 重新生成證書,先前證書棄用使用函數 SSL_CTX_…

向上滾動 終端_ubuntu

Ubuntu終端Terminal常用快捷鍵Ubuntu終端Terminal常用快捷鍵 快捷鍵 功能 Tab 自動補全 Ctrla 光標移動到開始位置 Ctrle 光標移動到最末尾 Ctrlk 刪除此處至末尾的所有內容 Ctrlu 刪除此處至開始的所有內容 Ctrld 刪除當前字符 Ctrlh 刪除當前字符前一個字符 Ctrlw 刪除此處到…

openssl實現雙向認證教程(服務端代碼+客戶端代碼+證書生成)

參考鏈接 openssl實現雙向認證教程(服務端代碼客戶端代碼證書生成)_huang714的博客-CSDN博客_ssl_ctx_load_verify_locations基于openssl實現https雙向身份認證及安全通信_tutu-hu的博客-CSDN博客_基于openssl實現 注意事項 openssl版本差異很可能導致程…

python用pip安裝pillow_cent 6.5使用pip安裝pillow總是失敗

python:2.7.8阿里云cent os32位virtualenvvirtualenvwrapper之前有一個virtualenv不知道怎么回事成功裝上了pillow之后再在別的virtualenv裝就全都報錯這是為什么 太奇怪了?下載whl安裝,不管哪個版本都說不支持這個系統。imaging.c:3356: error: expected ?.?. ?…