Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
IDEA全稱是IntelliJ,是JetBrains公司推出一個集成開發工具,是Java開發工具中的翹楚,基于這個開發工具可以快速開發我們的Java相關項目。相對于其它開發工具,IDEA提供了更加強大的提示功能,全面的快捷鍵操作,模板代碼以及快速的資源整合。
IDEA官網下載地址如下:
https://www.jetbrains.com/idea/
基于操作系統的不同,可以選擇不同平臺下的IDEA,例如:
說明:至于社區版(功能受限的免費版)/還是商業版(可試用)自行決定。
IDEA 下載以后需要進行安裝進行使用。假如只是下載的解壓版本,則可以將其拷貝到非中文目錄,然后直接解壓進行應用。假如下載的可執行程序(例如windows平臺下的.exe文件)則直接啟動可執行程序,然后按照提示,一步一步安裝即可。
IDEA官方幫助文檔文檔參考如下:
https://www.jetbrains.com/help/idea/discover-intellij-idea.html
找到解壓或安裝好的idea根目錄,然后進入bin目錄找到idea.bat或者idea64.exe文件,然后直接雙擊進行啟動,第一個啟動歡迎界面如圖所示:
在第一個界面呈現過程中,其實是IDEA底層在進行啟動初始化,假如是第一次啟動,稍等片刻會進入第二個界面,例如:
在第二個界面中,我們先選擇創建新項目(New Project),然后進入創建項目的界面,這里我們先選擇創建空項目,如圖所示:
選擇好Empty Project以后,點擊next進入項目的設計,如圖所示:
在上面圖中,點擊Finish按鈕完成項目的創建,進入IDEA的項目工作窗口,如圖所示:
滾輪滑動,改變字體大小配置,如圖所示:
包導入配置,如圖所示:
行號與方法分隔符配置,如圖所示:
代碼提示配置,如圖所示:
代碼補全配置,如圖所示:
代碼編輯區字體配置,如圖所示:
控制臺字體配置,如圖所示:
代碼中的注釋顏色配置,如圖所示:
自動編譯配置(可選),選上了可能會比較慢,如圖所示:
Maven 初始化配置(假如已有配置好的,可以使用已有的配置)
找到你磁盤中的maven根目錄下的conf目錄,并打開conf目錄下的settings.xml文件,然后進行如下配置:
配置maven本地庫(從maven遠程服務器下載的資源存儲到的位置)
<localRepository>${user.home}/.m5/repository</localRepository>
配置maven私服(配置到mirrors標簽內部)。
<mirror>
<id>aliyun</id>
<name>aliyun for maven</name>
<mirrorOf>*</mirrorOf>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
配置maven中的profile(配置到profiles標簽內部),設置JDK編譯和運行版本。
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8
</maven.compiler.compilerVersion>
</properties>
</profile>
IDEA 中集成Maven配置
找到Build Tools/Maven選項,然后在IDEA中集成本地maven配置。如圖所示:
Gitee 安裝成功以后,檢查是否在Version Control中有Gitee選項,如圖所示:
點擊Version Control的Gitee選項,進入Gitee配置,如圖所示:
在Gitee配置界面,選擇添加賬戶(Add Account),進入賬戶配置界面,如圖所示:
在Gitee賬戶配置界面,進行連接Gitee平臺的賬戶配置(要事先注冊好Gitee平臺賬戶),然后點擊Log in進行登陸,登陸成功以后會呈現如下界面,如圖所示:
本小節主要是對IDEA開發工具進行了一個簡單介紹,然后基于我們后續要做的應用,做了一個初步配置,基于這個配置我們后續可以更好的展開項目的創建、測試等。
在過去幾年中,JetBrains的IntelliJ很快成為Java開發人員的頂級IDE。使IntelliJ對Java開發人員如此有吸引力的一個特性是使用插件擴展和創建新功能的能力。在本教程中,我們將介紹如何編寫IntelliJ插件來演示擴展IDE的幾種方法。
雖然本文主要關注IntelliJ插件,但所有JetBrains IDE都共享公共代碼。因此,這里使用的許多技術可以應用于JetBrain的其他IDE,如PyCharm、RubyMine等。
Intellij插件按照功能可分四類:
使用 Plugin DevKit(https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/using_dev_kit.html)來創建工程,DevKit提供了自定義SDK類型和一組用于在IDE中構建插件的操作
在Intellij的菜單欄,選擇 File | New | Project,在New Project 框里選擇 IntelliJ PLatform Plugin
New Project
在project SDK選項框選擇合適的Intellij SDK,然后下一步,填上project name,完成,就創建好一個Intellij plugin 工程了。
創建自定義Action
如果需要了解更多action 相關的東西,請訪問官方文檔 https://www.jetbrains.org/intellij/sdk/docs/basics/action_system.html
創建自定義的action,需要繼承抽象類AnAction,并且需要重寫方法AnAction.update() 和AnAction.actionPerformed():
package com.test.plugin;
import com.intellij.ide.BrowserUtil;
import com.intellij.lang.Language;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiFile;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class SearchBaiduAction extends AnAction {
/**
* Only make this action visible when text is selected.
* <p>
* The update method below is only called periodically so need
* to be careful to check for selected text
* https://jetbrains.org/intellij/sdk/docs/basics/action_system.html#overriding-the-anactionupdate-method
*
* @param e
*/
@Override
public void update(AnActionEvent e) {
// Get required data keys
final Project project=e.getProject();
final Editor editor=e.getData(CommonDataKeys.EDITOR);
// Set visibility only in case of existing project and editor and if a selection exists
e.getPresentation().setEnabledAndVisible(project !=null
&& editor !=null
&& editor.getSelectionModel().hasSelection());
}
@Override
public void actionPerformed(AnActionEvent e) {
final String selectedCode=getSelectedCode(e);
final String languageTag=getLanguageTag(e);
String url=getUrl(languageTag, selectedCode);
if (url !=null) {
BrowserUtil.browse(url);
}
}
private String getSelectedCode(AnActionEvent e) {
final Editor editor=e.getRequiredData(CommonDataKeys.EDITOR);
return editor.getSelectionModel().getSelectedText();
}
private String getLanguageTag(AnActionEvent e) {
String languageTag="";
PsiFile file=e.getData(CommonDataKeys.PSI_FILE);
if (file !=null) {
Language lang=file.getLanguage();
languageTag=lang !=null ? lang.getDisplayName().toLowerCase() : null;
}
return languageTag;
}
private String getUrl(String languageTag, String selectedCode) {
try {
StringBuilder sb=new StringBuilder("https://www.baidu.com/s?wd=");
if (languageTag !=null) {
sb.append(" " + URLEncoder.encode(languageTag, "UTF-8"));
}
sb.append(URLEncoder.encode(selectedCode, "UTF-8"));
return sb.toString();
} catch (UnsupportedEncodingException unsupportedEncodingException) {
unsupportedEncodingException.printStackTrace();
return null;
}
}
}
如果action被禁用了,那么actionPerformed方法不會被執行
actionPerformed()方法
@Override
public void actionPerformed(AnActionEvent e) {
final String selectedCode=getSelectedCode(e);
final String languageTag=getLanguageTag(e);
String url=getUrl(languageTag, selectedCode);
if (url !=null) {
BrowserUtil.browse(url);
}
}
在該方法中,我們通過getSelectedCode()方法拿到用戶選擇的文本,通過剛發getLanguageTag()獲取當前文本語言,比如java,js,go等。然后通過getURL()方法組裝url,最后通過BrowserUtil.browse(url) 打開瀏覽器,并訪問給的url。在我們demo里面,我們將用選擇的文本在baidu里面進行搜索。
獲取Editor中選擇的文本
你需要使用SelectionModel對象獲取選擇的文本
private String getSelectedCode(AnActionEvent e) {
final Editor editor=e.getRequiredData(CommonDataKeys.EDITOR);
return editor.getSelectionModel().getSelectedText();
}
獲取當前文件的語言
從event中通過CommonDataKeys.PSI_FILE key獲取到PsiFile對象,然后再從PsiFile中獲取到Language。
private String getLanguageTag(AnActionEvent e) {
String languageTag="";
PsiFile file=e.getData(CommonDataKeys.PSI_FILE);
if (file !=null) {
Language lang=file.getLanguage();
languageTag=lang !=null ? lang.getDisplayName().toLowerCase() : null;
}
return languageTag;
}
有兩種方式可以注冊我們自定義的事件:1. plugin.xml中配置,2.代碼中注冊
在plugin.xml文件中注冊事件:
<actions>
<action
id="Codever.Search.Editor"
class="com.test.plugin.SearchBaiduAction"
text="Search on Baidu"
description="Search on Baidu"
>
<add-to-group group-id="EditorPopupMenu"/>
</action>
<action
id="Codever.Search.Console"
class="com.test.plugin.SearchBaiduAction"
text="Search on Baidu"
description="Search on Baidu">
<add-to-group group-id="ConsoleEditorPopupMenu"/>
</action>
</actions>
更多事件注冊信息請查看官方文檔 https://plugins.jetbrains.com/docs/intellij/basic-action-system.html?from=jetbrains.org#registering-actions-in-pluginxml
在Idea中運行或者debug插件是非常簡單的一件事
配置
運行
結果
DEA 全稱 IntelliJ IDEA,是java編程語言開發的集成環境。IntelliJ在業界被公認為最好的java開發工具,尤其在智能代碼助手、代碼自動提示、重構、JavaEE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位于捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費版只支持Java,Kotlin等少數語言。
俗話說:"工欲善其事必先利其器",今天準備和大家一起分享一下實際工作中能提升幸福感和工作效率的IDEA插件。
廢話不多說,let's go !!!
1Alibaba Java Coding Guidelines
【阿里巴巴代碼規范檢查插件】
在你需要檢查的代碼上面,點擊右鍵,選擇編碼規約掃描
將會出現如下所示的檢查結果,并會給出編碼規范和提示:
2GsonFormat
【jsonToBean】
在平時的開發中,將json轉為Bean
3A8Translation
【翻譯的插件】
選中你要翻譯的漢語或英文,點擊鼠標右鍵,選擇Translate, (快捷鍵是Alt+T)就會實現翻譯,不用再去切換屏幕使用翻譯軟件翻譯了。
4Maven Helper
【分析依賴沖突的插件】
此插件可用來方便顯示maven的依賴樹,和顯示沖突,在我們梳理依賴時幫助很大。
5Free Mybatis plugin
【增強idea對mybatis支持的插件】
生成mapper xml文件 快速從代碼跳轉到mapper及從mapper返回代碼 mybatis自動補全及語法錯誤提示 集成mybatis generator gui界面 這個插件超級實用,可以從mapper接口跳轉到mybatis的xml文件中,還能找到對應地方
6Grep Console
【日志高亮顯示插件】
可以Ctrl + Alt +S Other Settings進行配色(顏色參考請搜索:電腦最護眼的色彩、顯示屏亮度亦如此)
7Lombok
當我們創建一個實體時,通常對每個字段去生成GET/SET方法,但是萬一后面需要增加或者減少字段時,又要重新的去生成GET/SET方法,非常麻煩。可以通過該插件,無需再寫那么多冗余的get/set代碼。
注意:需要在pom引入依賴
<!--lombok用來簡化實體類:需要安裝lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
8Nyan progress bar
基于Idea使用的漂亮進度條。把你的加載進度條全都變成彩虹和貓咪
9FindBugs-IDEA
【Bug檢查插件】
在文件上或文件里面點擊鼠標右鍵,選擇FingBugs
簡單的bug能給你快速找回來,什么NPE啥的,小兒科!推薦!!(嗓門大就說一遍)
10Key Promoter X
你還在為記不住快捷鍵煩惱嗎,Key Promoter X可以幫助你快速記住常用的快捷鍵。當你在idea中用鼠標點擊菜單,它可以顯示對應的快捷鍵以及點擊次數。使用一段時間后有助于過渡到更快、無鼠標的開發。
11JavaDoc
在項目中經常要求寫代碼注釋,否則不能通過代碼門禁,JavaDoc工具可以一鍵生成注釋。
插件安裝成功后在菜單欄 code -> JavaDocs可以找到
自動生成注釋效果如下:
12ignore
項目開發中通常會使用到git進行版本管理,在提交代碼時經常有人將本地的不必要的文件提交到代碼倉庫中,使用.ignore插件可以很好解決這個問題。插件安裝完成后會在項目中生成一個.ignore文件,編輯該文件忽略一些動態生成的文件,如class文件,maven的target目錄等。
13RainbowBrackets
彩虹括號,代碼中有多個括號會顯示不同的顏色。
14Activate-power-mode
在敲代碼時有抖動酷炫的特效,非常適合給前端小姐姐表演特技。(壞笑)
15CodeGlance
16GenerateAllSetter
17RestfulToolkit
18JRebel
熱門部署插件,讓你在修改完代碼后,不用再重新啟動,很實用!但是,不是免費的,需要大家發揮下聰明才智自行百度破解!
19Json Parser
厭倦了打開瀏覽器格式化和驗證JSON?為什么不安裝JSON解析器并在IDE中使用離線支持呢?JSON解析器是一個用于驗證和格式化JSON字符串的輕量級插件。
20aiXcode & codota
aiXcoder是一個強大的代碼完成器和代碼搜索引擎,基于最新的深度學習技術。它有可能向您推薦一整套代碼,這將幫助您更快地編寫代碼。aiXcoder還提供了一個代碼搜索引擎,以幫助您在GitHub上搜索API用例。
類似功能的插件還有codota,codota基于數百萬個開源Java程序和您的上下文來完成代碼行,從而幫助您以更少的錯誤更快地進行編碼。新版本的codota提供以下功能:
比如我想知道list.stream.map(…)方法的參考使用,只需要光標定位在map上,然后右鍵選擇菜單“Get relevant examples”或者使用快捷鍵“Ctrl + Shift + O”就可以快速搜索出來很多示例,非常方便。
來源:blog.csdn.net/CSDN_SAVIOR/article/details/122505538
*請認真填寫需求信息,我們會在24小時內與您取得聯系。