IDEA插件開發(fā)之環(huán)境搭建過程圖文詳解
基于IntelliJ Platform Plugin
搭建
環(huán)境步驟
File->New->Project
選擇IntelliJ Platform Plugin
如果你這里沒有SDK環(huán)境,則添加一個(gè)SDK環(huán)境,選擇自己的idea的安裝的根目錄即可。
展示效果
基于Gradle
搭建環(huán)境步驟
File->New->Project
選擇Gradle
next
進(jìn)來以后大概是這樣的一個(gè)界面,然后gradle會(huì)自動(dòng)build項(xiàng)目,下載相關(guān)的依賴。(可能會(huì)失敗)
遇到的問題一,依賴ideaIC-2020.1.1.zip
文件
build過程中下載ideaIC-2020.1.1.zip
文件(根據(jù)不同的idea插件開發(fā)版本這個(gè)文件也會(huì)隨之改變的),但是這個(gè)文件超特么的大500多M🙂🙂🙂,大不是問題,但是太慢了,我中途還出超時(shí)出錯(cuò)過,因此不我希望你們也遇到這個(gè)問題,錯(cuò)誤大概是這樣的
A problem occurred configuring root project 'myplugin2'.
> Could not resolve all files for configuration ':detachedConfiguration1'.
> Could not download ideaIC-2020.1.1.zip (com.jetbrains.intellij.idea:ideaIC:2020.1.1)
> Could not get resource 'https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/idea/ideaIC/2020.1.1/ideaIC-2020.1.1.zip'.
> Read timed out
但是,這個(gè)等待的時(shí)間不是白白的浪費(fèi)了,至少我知道錯(cuò)誤在哪,下載什么文件失敗的,原來是下載這個(gè)路徑下的這個(gè)zip文件(而且通過這個(gè)URL也知道了jetbrains的release版本倉庫在哪個(gè)位置了),于是ctrl+c 這個(gè)url,默默打開我的迅雷X,開啟了立即下載模式
等下載完成大概是這樣的,507 MB (532,523,505 字節(jié)),果然厲害,這個(gè)就是IDEA2020.1.1的社區(qū)版!
但是問題來了我下載下來的文件放在哪呢,gradle的自動(dòng)編譯才能用我的這個(gè)zip包呢?
于是牽扯到了gradle的本地緩存了。
打開系統(tǒng)盤下當(dāng)前用戶的.gradle
目錄,進(jìn)入.gradle\caches\modules-2\files-2.1
目錄,即為緩存文件的目錄。但是我怎么知道是哪個(gè)具體的目錄下呢?這個(gè)時(shí)候又是上面這個(gè)報(bào)錯(cuò)的url的地方,仔細(xì)看com/jetbrains/intellij/idea/ideaIC/2020.1.1/ideaIC-2020.1.1.zip
這一段,這不就知道是哪個(gè)目錄了,于是進(jìn)入到.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2020.1.1
目錄,再一看他是這樣的ff8c1b826417ce9d8a537b41e64d0253be9dbac0
目錄名稱(你的可能不是這樣的),我去,這個(gè)應(yīng)該是加密過的,但是是什么加密呢?,經(jīng)過了解知道了這個(gè)是SHA1
加密,且是對(duì)文件進(jìn)行SHA1
的加密生成的唯一字符串,但是windows上沒有這個(gè)命令,在線SHA1
也太麻煩了,還要上傳文件,于是想到了Java的API,還有就是通過git hash
命令行來實(shí)現(xiàn)。
把我們的文件ideaIC-2020.1.1.zip
先臨時(shí)拷貝到這個(gè)目錄。運(yùn)行sha1sum.exe ideaIC-2020.1.1.zip
命令,生成唯一的唯一字符串(用來校驗(yàn)文件的完整性),這樣就拿到這個(gè)640aff4c23a001e5595ee654670d774e9efcd118
目錄名
接下來在2020.1.1
目錄下,新建目錄640aff4c23a001e5595ee654670d774e9efcd118
,將ideaIC-2020.1.1.zip
移動(dòng)進(jìn)去即可。這樣就完成了手動(dòng)導(dǎo)入依賴的過程😎😎😎遇到的問題二,gradle build
過程中堆棧溢出。
描述如下
A build operation failed.
Java heap space >
Java heap space
解決方法,在IDEA項(xiàng)目根目錄下,新建文件gradle.properties
,添加如下內(nèi)容,變更gradle Jvm參數(shù)
org.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m
然后就開開心心手動(dòng)構(gòu)建環(huán)境即可完成。
總結(jié)
搭建IDEA插件開發(fā)環(huán)境方式很多,看個(gè)人開發(fā)喜好,官方建議使用gradle
的方式搭建比較全面。
搭建環(huán)境過程并不是一帆風(fēng)順,也花費(fèi)了挺多挺多的時(shí)間,其他人得解答也只是片段,并不能完美解決我的問題,于是才有了這篇文章,后續(xù)打算開發(fā)一個(gè)自己的插件,來解決自己的問題,到時(shí)候再記錄把。
到此這篇關(guān)于IDEA插件開發(fā)之環(huán)境搭建過程圖文詳解的文章就介紹到這了,更多相關(guān)IDEA插件開發(fā)環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
AsyncHttpClient的默認(rèn)配置源碼流程解讀
這篇文章主要為大家介紹了AsyncHttpClient的默認(rèn)配置源碼流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事
變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來存儲(chǔ)各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07SpringBoot快速入門及起步依賴解析(實(shí)例詳解)
SpringBoot?是由?Pivotal?團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化?Spring?應(yīng)用的初始搭建以及開發(fā)過程,這篇文章主要介紹了SpringBoot快速入門及起步依賴解析,需要的朋友可以參考下2022-10-10Spring?Data?Jpa返回自定義對(duì)象的3種方法實(shí)例
在使用Spring Data Jpa框架時(shí),根據(jù)業(yè)務(wù)需求我們通常需要進(jìn)行復(fù)雜的數(shù)據(jù)庫查詢,下面這篇文章主要給大家介紹了關(guān)于Spring?Data?Jpa返回自定義對(duì)象的3種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08