intelliJ idea book

@yq https://www.yuque.com/puredream/windsnow/fh7b5q9h0zgor0ao

 

idea 回退断点

在调试的时候,想要重新走一下流程而不用再次发起一个请求?

1、所谓的断点回退,其实就是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法。回退的方式有两种:

一种是Drop Frame按钮,按调用的方法逐步回退,包括三方类库的其它方法(取消Show All Frames按钮会显示三方类库的方法。

 

第二种方式,在调用栈方法上选择要回退的方法,右键选择Drop Frame,回退到该方法的上一个方法调用处,此时再按F9(Resume Program),可以看到程序进入到该方法的断点处了。但有一点需要注意,断点回退只能重新走一下流程,之前的某些参数/数据的状态已经改变

 

 

3.收录一些比较常用的快捷键

注意 idea 的快捷键的每一行配置都是可以 ctrl + c 直接复制得到完整路径英文名的 , 这非常方便我们写文章.

 

快捷键 说明
Ctrl + / 智能补全
Alt + Enter 相当于eclipse里Alt + /智能补全外的其他选项,或许还要更强大
Alt + Insert  生成代码的constructor override toString等等
Ctrl + shift + 空格 对于喜欢写漂亮的文档注释的,可以通过Ctrl + shift + 空格 来预览Documentation

Ctrl + shift + M 根据方法快速声明变量

Ctrl + Shift + F7 让某个变量一直高亮
Ctrl + Alt + shift + T 超级重构,包含重构的常用功能

Ctrl + Alt + V ( Alt + Shift + L) 自动补全调用方法的返回值

Alt + Shift + L(Ctrl + Alt + V ) 自动补全调用方法的返回值

Alt + Shift + ↑ (Extend Selection 📌eclipse按键风格) 扩展选择区,快速按4下匹配完整区间 可以理解成选择(词, 行 , innerHtml , outerHtml)

Ctrl + Alt + B (Ctrl + T) 查找接口的实现类(很实用,因为你用ctrl 点进去,只进接口方法)     
Alt + shift + R 重构之重命名
Alt + shift + C 重构之修改方法签名
Alt + shift + M 重构之修抽取的方法

Ctrl + Shift + E 此时输入搜索关键字只会在当前打开的文件中搜索

Ctrl + Shift + L 加载/卸载 模块

左Ctrl + Delete 键, 分词删除 , 如 SheIsAn|BeautifulGirl , 当光标在B前, 按Ctrl + Del 之后, 单词变成SheIsAnGirl

左Ctrl + Alt + Q 锁定方法注释

左Ctrl + Alt + T 包装选中代码  Main Menu | Code | Surrond With ...    , 用来快速包装 try catch 等

Ctrl + Alt + Shift +U 查看Maven信赖树

Ctrl + P Parameter Info 是方法参数提示快捷键 

Alt + 7 查看当前类的所有方法

Ctrl+shift + ' (单引号键)   被我改成 CTRL + Z 最大化日志窗口

Ctrl + Shift + . 折叠{}内容 , 点击即可还原

Ctrl + Shift + J 压缩多行代码成一行 , 压缩选定的代码段或当前行的代码为单行。如果没有选定任何代码,则会压缩当前光标所在行的代码为单行。

Ctrl + Shift + M 添加强转类型

 

Alt + Shift + Z 代码环绕(添加 Try Catch 等)     Ctrl + Alt + T 不生效

 

Alt + Home 展示导航栏 

 

 

Ctrl + SHIFT + Numpad+  (自定义 新建包)

Main Menu | File | File Open Actions | Open Project Actions | New | Create new directory or package

 

Alt + 2 快速聚焦到Services 标签页以查看springboot的console日志 (替换原生的 跳到 Favorites )

 

 

 

CTRL+ALT+V 补全变量名
Ctrl + SHIFT + X 大小写切换
Ctrl + F 当前文档查找
Ctrl + H 超级查找
Ctrl + T 查看实现类
Ctrl + o 查看当前类的成员属性 , 及可实现的接口方法

Ctrl + q 返回上一次编辑的位置,可以一直返回
Ctrl + SHIFT + E 最近修改过的文件
Ctrl + D 比较文件内容
Ctrl + F9 编译所有文件
Ctrl + SHIFT + F9 编译有改动的文件
Alt + SHIFT + P 快速添加未实现的方法

ALT + ENTER 生成未定义的方法

 

CTRL+ SHIFT + F11  简单标记/取消标记

CTRL+ALT+ SHIFT + F11  复杂标记

 

ALT + CAPS LOCK + 鼠标左鍵 列编辑

原文:IDEA中使用eclipse快捷键==>https://blog.csdn.net/m0_38043362/article/details/79244274

 

Alt + F1切换视图

Ctrl + .  折叠/反折叠代码块        Ctrl + - / Ctrl + +  折叠

Ctrl + SHIFT + [ 或者 ] 选中 大括号{ 对应的区块片断

 

Alt + F12 打开终端Terminal快捷键

 

 

 

 

Intellij idea 快捷键(1)--生成for循环代码块==>https://blog.csdn.net/mingjie1212/article/details/51143444/

itli  生成    for (int i = 0; i < locationUrl.size(); i++) {...}

iter  生成   for (String s : locationUrl) {...}

itar  生成   for (int i = 0; i < array.length; i++) { ... }

 

 

idea提升性能优化配置

File | Settings | Build, Execution, Deployment | Compiler | Compile independent modules in parallel 打勾

 IDEA2020.1优化设置==>https://blog.csdn.net/ww1130212073cf/article/details/105555203

 

我的idea自定义快捷键

Alt + S : 快速在右边新开窗口 ( 定位到 Window | Editor Tabs | Split Right 修改)

Ctrl + R : 快速断点行行到指定行 ( Run | Debugging Actions | Run To Cursor )

Alt + T  : 根据变量直接跳到对应类 ( 快捷键变更中搜索  Type Declaration 关键字 定位后 )

ALT + /  : Class Name Completion    (类名补全)

Ctrl+Alt+R :  replace  (为了替换功能) ( Editor | Find | Replace )

Ctrl+F : find  (为了在控制台也能搜索) ( Editor | Find | Find )

Alt + C : Clear All      (清除控制台) (Other | Clear All )

Alt + O: Other |  Show In Explorer    (打开目录)

Run  NumPad -  

Alt + B 显示 Run Dashboard 

Alt + G 换成"下一个不同点" (Next Difference) 

Alt + ↑ 代码行上移(Main Menu | Code | Move Statement Up)

Alt + ↓ 代码行下移(Main Menu | Code | Move Statement Down)

Run Dashboard中选中某个应用直接按F1重启配置

Keymap | Other | Debug context configuration 设置成F1

     

 

有时候 Debug context configuration  配置会失灵,此时不妨把Other | Debug 设置快捷键成F1

 

 

 Alt + D  快速跳到父类方法中

Super Method

 

 

Ctrl + Shift + M 快速唤起提交代码窗口

 

实用好文: idea中的常用快捷键==>https://www.cnblogs.com/coder-lzh/p/9056012.html

 

 

模板

在 android studio中通过输入 layoutb 后快速创建代码

File | Settings | Editor | Live Templates | 点击"+"按钮 | Abbreviation输入缩写 layoutb | Template text 录入模板内容

并且在 change 中选择 java 的 declaration

 

java main 模板

$END$   代表光标位置

public static void main(String[] args){
  $END$
}

 

我的dart中常用模板

$END$   代表光标位置

LayoutBuilder(
  builder: (BuildContext context, BoxConstraints constraints) {
    print("📦constraints: $constraints");
    return $END$;
  },
)

 

 

idea所有文件中查找并替换

Edit | Find | Find Replace In Files   alt + e | f | a  )

 

 

 

idea快速打印语句缩写词

sout = eclipse中的syso

serr = eclipse中的syse

 

调整idea成eclipse布局

让idea控制台像eclipse那样一直保留

idea默认的窗口模式是如下:

可以通过File->setting->appearance-Window Options->勾选 Widescreen tool window layout->OK 变成如下界面:

 

File | Settings | Appearance & Behavior | Appearance | Widescreen tool window layout 打勾

 本小节引用自: IDEA控制台布局设置==>https://www.cnblogs.com/jingshui2020/p/12725840.html

 

 

idea两个文件对比

CTRL + 左键   选中两个文件后 , 按 CTRL + D 对比 ,且先选中的在左边, 后选中的在右边。

 

IDEA中使用eclipse快捷键

1.修改使用Eclipse风格的快捷键

目的是习惯了使用eclipse的快捷键,在使用IDEA时不想重头记一套新的快捷键。
按照下面的顺序操作
File --> settings --> keymap --> 在下来框中选中Eclipse

选择Apply保存设置
这样改完就是elipse风格的快捷方式了

 

2.通过快捷键而非键名查对应快捷键配置

 

 

3. 让idea像eclipse的Ctrl + K 和 Ctrl + shift + K那样快速定位上下相同选中字符串

找到 Find Word at Caret 改成 Ctrl + K

找到 Find Previous / Move to Previous Occurrence 改成 Ctrl + Shift + K

 

9.idea 数字助记符,快速返回指定位置

Ctrl + shift + F11 快速添加标签BookMarks

Ctrl + shift + 1-9 快速添加标签BookMarks,且使用Ctrl + 1-9 可快速定位到对应标签的当前行

 

我们可以使用以(助记符)数字作为书签,在所在行按快捷键Ctrl+Shift+任意数字,就可以插入一个标签了,要将光标跳转到某个书签,只需要Ctrl+对应的标签数字。

按下F11可以给当前文件的当前行添加标签 , 之后使用 Shift + F11 可以预约标签列表, 但是如果用的是"eclipse快捷"配置,则F11无效, 因为被默认成了Ctrl + Shift + F11

  使用Intellij IDEA的Bookmarks==>https://blog.csdn.net/qq_36376059/article/details/80277767

 

idea 快速创建main方法代码缩写

关键字 psvm : Public Status Void Main

 

2.单独设置一部分比较主要的与eclipse中不一致的操作

 

2.1   自动补全Alt + /

继续
File --> settings --> keymap 在搜索框中搜索 completion
修改方式是右击 Add Keyboard Shortcut 添加 Remove xxx  删除

 

至此有了强大的Alt + / 再配合 万能的Alt + Enter 就能解决大部分开发时想要的了。

 

2.2debug时运行选中代码片段Ctrl + shift + I

 

File --> settings --> keymap 在搜索框中搜索 evalue expression

 

 

选择一个喜欢的设置为Ctrl + shift + I即可 , 

剩下的可以通过快捷键方式搜索 看看是否是自己熟悉的功能映射,如果不是就找到那个功能修改即可。

 

 

在代码中直接编辑json或xml

使用 alt+enter 快捷键弹出 Inject Language 视图,并选中 Inject language or reference , 选择后切记要直接按下 enter 回车键,才能弹出 Inject Language 列表,在列表中选择 JSON 组件。

 

上下层级关系

(之后补充, 暂未定快捷键)

 快捷键 F4 后选择 Subtypes of Hierarchy

 

快捷键 F4 后选择 Supertypes of Hierarchy

 

设置快捷键的位置

 

idea调整断点背影色和加粗断点字体

 

File | Settings | Editor | Color Scheme | Debugger | Execution point 

 

 

idea使用tab跳出引号 ' ",括号() 

File | Settings | Editor | General | Smart Keys | 勾选 Jump outside closing bracket/quote with Tab 

然而经过验证只有引号有效果, 括号是没有效果的.

 

idea项目UTF-8编码

设置项目成UTF-8,且properties也是UTF-8

 

 修正idea每次都打开新项目都会重置maven

 

 参考自: Idea中Maven仓库自动恢复默认设置==>https://blog.csdn.net/qq_27046951/article/details/82827212

 

idea显示多行标签文件名

当文件打开过多时, 也不折叠成单行,方便切换

File | Settings | Editor | General | Editor Tabs | 取消 Show tabs in one row

idea最大化编辑区

keymap --> Hide All Tool Windows   Ctrl + Shift + F12     ( 隐藏所有其它窗口,只保留editor区 )

 

idea根所编辑文件快速定位到左边项目导航位置

默认点击Scroll from Source即可定位到左边导航, 但是却在keymap中没有找到对应名称的快捷键 ,

 其实搜索Select in Project View即可 , 它们是相同的功能.

 

 

 

idea包路径被缩写成第一个字母

不习惯的状态如下, 包路径变成了c.e.d.controller

我们只需要点击右边的齿轮去掉 Flatten Packages 的勾.

 

 

IDEA编辑区和导航区关联

 

在idea中显示maven项目依赖

右键打开后的pom.xml文本区域, Diagrams | Show Dependencies..

 

 

 

idea 让maven自动下源码

 File | Settings | Build, Execution, Deployment | Build Tools | Maven | Importing

 

IDEA修改java源码不用重启直接生效配置

参考 : IDEA SpringBoot 热部署+html修改无需make自动刷新==>https://my.oschina.net/yejunxi/blog/845752

spring boot热部署,修改java代码不重启==>https://blog.csdn.net/lmx125254/article/details/81477664

1. 给项目的pom.xml添加spring-boot-devtools插件依赖

<!-- springboot热布署工具 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>true</scope>
    <!-- 这个需要为 true 热部署才有效 ,另外虽然虚拟机重启快很多,但是看到日志打印还是很不爽,
    可以在application.yml或application.properties中配置spring.devtools.restart.enabled=false让修改java代码不重启也也直接生效. -->
    <optional>true</optional>
</dependency>


<build>
    <plugins>
        <!-- 这个插件,可以将应用打包成一个可执行的jar包,如果不添加该插件 ,则执行时报错: .\springbootdemo-0.0.1-SNAPSHOT.jar中没有主清单属性 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.example.demo.MySpringBootApplication</mainClass>
                <fork>true</fork> <!-- 如果没有该配置,devtools可能不会生效 -->
            </configuration>
        </plugin>
    </plugins>
</build>

 在idea中建springboot初始化项目时也可以直接选中

 

 

2. File | Settings | Build, Execution, Deployment | Compiler | Build project automatically 打勾

 

另外建议开启自动导包功能    File | Settings | Editor | General | Auto Import | Insert imports on paste All

 

其实上面的操作就是就是项目刚建立时, idea弹出的 Enable Auto-Import ,所以一开始要是没有选择, 也可以手动去开启自动编译 , 当然前提是那个Show import popup

 

 

3. Shift+Ctrl+Alt+/  启用 compiler.automake.allow.when.app.running 

 

4.application.properties中配置

# 在pom.xml中添加spring-boot-devtools后,配置修改java代码不重启也生效
spring.devtools.restart.enabled=false
#设置重启的目录,添加那个目录的文件需要restart
spring.devtools.restart.additional-paths=src/main/java
#排除那个目录的文件不需要restart
#spring.devtools.restart.exclude=static/**,public/**

 

5. IDEA修改文件直接自动更新

右上角 Edit Configurations... | On 'Update' action 和 On frame deactivation | 都改成 Update classes and resources

 

经过亲测, 发现On frame deactivation 改成 Update classes and resources才真正有效,所以修改java代码真正编译的触发时机在切换到非IDEA应用时,

而此时如果你的操作过快 ,可能尚未编辑完全 ,还会是原来的代码 , 导致你以为修改未生效。

也就是说切换到浏览器后不建议马上操作, 最好隔2秒左右让IDEA 编译一下java源码, 当然如果手动按CTRL+F9的话, 那就没有任何问题了。

 

而On 'Update' action 在配成 Update classes and resources后 ,修改java源文件还是不能重动编译, 只有静态资源文件有效果 , 按道理手动CTRL + S 后就触发编辑才是完美状态 , 但事实并非如此 。

(当然以上现象有可能仅是个人电脑现象, 不代表众生相)

 Idea--Tomcate配置中的On Upate Action 与 On Frame Deactivation==》https://www.cnblogs.com/zhangguangju/p/7027904.html

IDEA 服务器热部署详解(On Update action/On frame deactivation)==》https://blog.csdn.net/w15321271041/article/details/80597962

6. 根据上述5步操作, 在eclipse中只需要1 pom.xml配置 和 4 devtool属性配置成false就行了,已亲测验证,不过不要忘了eclipse中Project Build Automatically 下面这个勾可得打卡, 当然这只是额外补充,一般没有傻子会把它取消掉。

 

 

 

 

 

IDEA 各种 build 模式区别

 

 

idea 的 Build 选项卡有好些 build 选项 , 解释如下

命令 默认快捷键 描述
Build Project Ctrl + F9 构建整个项目,包括编译所有模块和执行所有构建任务。用于确保整个项目是最新的,并且所有依赖都已正确解析。
Build Module   只构建选中的模块。适用于只需要更新或编译项目中特定部分的情况。
Rebuild Ctrl + Shift + F9 清除之前的构建结果,然后重新构建整个项目。用于确保所有的更改都被考虑进去,特别是在进行了大规模的更改或更新依赖之后。
Recompile Ctrl + Shift + F9 重新编译项目中所有已更改的文件。不会执行完整的构建过程,只重新编译自上次构建以来已经更改的文件。
Rebuild Project   与“Rebuild”类似,清除之前的构建结果,然后重新构建整个项目。确保所有的文件都是最新的,并且所有的更改都被考虑进去。
Build Module 'xxx'   只构建选中的模块。
Rebuild "xxx.java' Ctrl + Shift + F9 只编译当前选编辑中的的 java 文件
Recompile 'xxx.java' Ctrl + Shift + F9 只编译当前选编辑中的的 java 文件(这和和上面的 Rebuild "xxx.java' 不清楚区别在哪)

 

 

↑ idea录制宏并设置宏快捷键Ctrl + Shift + S等效于保存并编译 ↓

假如我们希望  Ctrl + Shift + S  即进行保存 ,  也执行编译命令 Ctrl + F9 , 那么可以设置一个宏 , 并配置快捷键成 Ctrl + Shift + S  

1  Edit | Macos | Start Macro Recording  开始录制 注意观察右下角

2 按下 Ctrl + S , 再按 Ctrl + F9 

不过本处得, 额外提一嘴, Ctrl + F9 可以保证全编译 , 但编辑速度贼慢 , Ctrl + Shift + F9 只编辑当前变动文件, 编辑速度相对不慢,

当模块较多的时候如果你对各模块编译关联比较清晰, 建议使用 Ctrl + Shift + F9  , 不然还是老老实实使用 Ctrl + F9  杜绝奇葩问题诞生.

 

3 点击红色方块停止录制 , 然后命名一个 SaveAndCompile(随意命名)

 4 然后 Ctrl + Alt + S 唤起idea配置 | 选中 Keymap |  来到 keymap中替换默认的 Ctrl + S 功能 , 找到Macros SaveAndCompile设置快捷键成 Ctrl + Shift + S 即可让以后每次 Ctrl + Shift + S 时自动触发 Ctrl + SCtrl + F9 的组合功能。

IDEA 配置宏定义 并为宏指定快捷键==》https://blog.csdn.net/lisulong1/article/details/52906681

 

could not autowire

@Autowired注解明明是对的, 却在idea中报错, 在eclipse中不报错.

File | Project Structure | Facets | Spring | Delete

参考: spring注解方式 idea报could not autowire,eclipse却没有问题==>https://www.cnblogs.com/softidea/p/5763285.html 

 

 

idea properties乱码

 File |                       Settings            | Editor | File Encodings | Properties file 改成UTF-8 并打勾 Transparent native-to-ascii conversion

 File | Other Settings| Settings for New Projects | Editor | File Encodings | Properties file 改成UTF-8 并打勾 Transparent native-to-ascii conversion

 

idea关闭一个java标签后返回上一个标签,而不是返回左边的标签

 File | Settings | Editor | General | Editor Tabs | Most recently opened table

 

idea Ctrl + F 默认从替换切换成查找

移除Find 的绑定快捷键 , 让replace 成为Ctrl + F 这时在editor编辑区是舒服了, 

但是在控制台搜索时却发现 Ctrl + F 不生效了, 因为控制台不能替换文本, 所以最后无耐得把replace改成了Ctrl + P , 再后来发现Ctrl + P 是方法参数提示快捷键 , 于是又把replace快捷键必成了 Ctrl + Alt + R , 这是一个让人悲伤的快捷键, 不知道大家有什么更合理的按键位安排.

 

 

 idea不小心关了Enable-auto-importing在哪开启(未亲测)

File | Settings | Build, Execution, Deployment | Build Tools | Maven | Importing | Import Maven projects automatically

 

 

2020版已取消之前配置,在修改pom.xml文件之后会出现下图中M转圈图标, 点击即可.

 

 

idea像eclipse实时显示文档提示

File | Settings | Editor | General | Show quick documentation on mouse move 打勾

效果如下

 

 

idea换成黑色主题

File | Settings | Appearance & Behavior | Appearance | Theme | 选择 Darcula

 

 

IDEA下自动生成Hibernate映射文件以及实体类

https://www.cnblogs.com/whatlonelytear/p/9467208.html

IntelliJ IDEA下自动生成Hibernate映射文件以及实体类--https://blog.csdn.net/qq_34197553/article/details/77718925

 

遇见异常

Error:java: Compilation failed: internal java compiler error

 

File | Settings | Build, Execution, Deployment | Compiler | Java Compiler | 修改TargetBytecode version 成对应的1.8版本

 

Project Structure中设置Project SDK为1.8

 

 

Annotation processing is not supported for module cycles. Please ensure that all modules from cycle

说明你的项目中出现循环依赖的问题;

解决方法:

一、查找循环依赖

  IDEA菜单栏中打开Analyze->Analyze Module Dependencies...看到有的模块被红色的标出来了,并且右边显示了循环依赖。

二、删除循环依赖

  IDEA菜单栏file->Project Settings->Modules-> 找到对应的module->remove掉相应的依赖

 

 

 idea添加ignore菜单插件

 

 

idea添加RESTFulToolkit插件(新版idea已不支持)

RESTFulToolkit插件提供了在Java文档注释中嵌入HTTP请求的功能,可以用于测试HTTP请求,包括POST请求。在注释中可以指定HTTP请求的URL、请求方法、请求头、请求体等信息。

使用RESTFulToolkit插件在Java注释中测试HTTP请求只是一种方便的方式,它并不应该替代真正的HTTP客户端或者测试工具。在进行实际的HTTP请求测试时,应该使用专业的HTTP客户端或者测试工具,以确保测试结果的准确性和可靠性。

/**
 * 这是一个测试POST请求的例子。
 *
 * @http POST http://example.com/api/users
 * @httpHeaders {
 *   "Content-Type": "application/json"
 * }
 * @httpBody {
 *   "name": "John Doe",
 *   "email": "john.doe@example.com"
 * }
 */
public void testPostRequest() {
    // ...
}

RESTFulToolkit插件提供了从Java注释中直接跳转到相应的HTTP请求文件的功能。在Java注释中使用@http标记嵌入HTTP请求后,可以使用Ctrl + 鼠标左键或者Ctrl + B快捷键来跳转到相应的HTTP请求文件。

下面是一个使用RESTFulToolkit插件在Java注释中嵌入HTTP请求并跳转的示例:

/**
 * 获取所有用户信息
 * 
 * @http GET http://localhost:8080/users
 * @httpHeaders {
 *   "Authorization": "Bearer <token>"
 * }
 */
public List<User> getAllUsers() {
    // ...
}

HTTP请求文件通常是以.http为扩展名的文本文件,可以放置在项目的任何地方。可以将HTTP请求文件放置在与Java源代码文件相同的目录中,也可以将其放置在任何其他地方,只要在Java注释中正确指定相对或绝对路径即可。

使用@http标记指定了HTTP请求的URL和请求方法,并使用@httpHeaders标记指定了请求头。HTTP请求文件的文件名可以与Java源代码文件名相同,例如getAllUsers.http,也可以不同,例如get_all_users.http。如果HTTP请求文件与Java源代码文件不在同一个目录中,则需要在Java注释中指定相对或绝对路径,例如@http ../requests/get_all_users.http

当鼠标悬停在Java注释中的@http标记上时,可以看到一个快捷菜单,其中包含一个“Jump to HTTP File”选项。单击该选项可以快速跳转到相应的HTTP请求文件。

 

idea添加http跳转插件(http跳转插件自已开发)

chatgpt问: 开发一个idea插件让我使用, 该插件可以在我的项目的java编辑器写的代码块注释中使用, 比如注释块中有 e:/a.http , 当我使用ctrl 加 鼠标键 点击 e:/a.http ,idea直接使用restfull http编辑器打开该a.http文件

chatgpt答: ↓

要实现这个功能,您可以开发一个自定义的Idea插件,其中包含一个用于处理Java编辑器中注释块的Action。在该Action中,您可以解析注释块中的文件路径,然后打开Restful HTTP编辑器并加载该文件。

以下是一些步骤,可以帮助您实现该插件:

  1. 创建一个Idea插件项目,可以使用IntelliJ IDEA的插件开发功能来创建。

  2. 在插件项目中创建一个Action类,该类将用于处理Java编辑器中的注释块。

  3. 在Action类中,使用Idea的API来获取当前编辑器中选中的注释块。您可以使用以下代码来获取当前选中的注释块:

 
Editor editor = e.getData(CommonDataKeys.EDITOR);
if (editor != null) {
    SelectionModel selectionModel = editor.getSelectionModel();
    String selectedText = selectionModel.getSelectedText();
    //处理选中的注释块
}
  1. 在处理选中的注释块时,解析注释块中的文件路径,并使用Restful HTTP编辑器打开该文件。以下是示例代码:
 
String filePath = "e:/a.http"; //假设注释块中的文件路径为e:/a.http
File file = new File(filePath);
if (file.exists()) {
    VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByIoFile(file);
    if (virtualFile != null) {
        RestfulHttpEditor restfulHttpEditor = RestfulHttpEditor.getInstance(e.getProject());
        restfulHttpEditor.openFile(virtualFile);
    }
}
  1. 在plugin.xml文件中注册Action,以便在Idea中使用。以下是示例代码:
 
<actions>
    <action id="myPlugin.MyAction" class="myPlugin.MyActionClass" text="My Action"/>
</actions>

<extensions defaultExtensionNs="com.intellij">
    <editorMouseHandler implementation="myPlugin.MyMouseHandler"/>
</extensions>
  1. 最后,将插件打包并安装到Idea中。您可以使用Idea的插件打包功能来打包插件,并在Idea的插件设置页面中安装该插件。

这样,当您在Java编辑器中选中一个包含文件路径的注释块时,只需使用Ctrl + 鼠标键单击该注释块,Idea就会打开Restful HTTP编辑器并加载该文件。

【idea插件开发】从0入门idea插件开发,idea插件开发教程,如何开发idea插件==>https://blog.csdn.net/smile_795/article/details/125470136

 

 

idea添加maven插件

按Ctrl + Alt + S搜索Maven Helper 安装 ,

安装好之后, 在pom.xml的下方会显示"Dependency Analyzer" 按钮 ,点击使用

idea 中解决maven 包冲突的问题(maven helper)==>https://www.cnblogs.com/a8457013/p/9108698.html

Java开发必装的IntelliJ IDEA插件==>https://blog.csdn.net/qing0706/article/details/51525138

我的备份 idea 中解决maven 包冲突的问题(maven helper)

 

 

 

 idea分屏显示,用于代码对比

右键文件名,选择Split Virtically即可, 此处我自己设置了alt + s快捷键

 

不要让idea单行显示方法体

File | Settings | Editor | General | Code Folding | 取消 One-lines Methods

 

让 idea每次打开新项目都用新窗口

默认每次是会弹窗让人选择的,如下,如果不小心Remember , don't ask again打了勾, 下次就不会再有提示了

要恢复每次打开新项目再弹窗的效果可以   File | Settings | Appearance & Behavior | System Settings | 单选 Confirm window to open project in 

 

让idea复制的文本是富本文本式

File | Settings | Editor | General | Copy as rich text by default 打勾 

当然默认情况下复制后本来就是富文本,粘贴到各种编辑器里会有特殊效果 , 但是有时候这个功能却是多余的, 影响目标编辑器自身的效果, 只要去掉这个勾就行.

 

idea右键没有git选项解决方法

 

 

 

idea提交时忽略iml文件

Settings | File Types | Editor | File Types | .cvsignore (Cvs) | 最下面一行追加 .iml

 

idea应用git 补丁patch文件

VCS | Apply Patch ...  或者  VCS | Apply Patch from Clipboard

 

 

idea断点背景色

File | Settings | Editor | Color Scheme | Debugger | Execution point |Background | 3377FF

 

idea断点调试

IDEA调试技巧之条件断点==>https://www.cnblogs.com/acm-bingzi/p/ideaCondition.html

 

 

让idea双击选中某个单词而非词组

File | Settings | Editor | General | Smart Keys | Use "CamelHumps" words 打勾即可 , 尽管如此, 在注释区双击部分单词得到的选中分词效果仍远差本意,大写差评。

比如双击or  ,  选中的却是全部区域 

(民间流传 "在keymap 里搜索 select Word at caret " 为脑残翻译)

 

 

Idea设置行注释不显示在行首

File | Settings | Editor | Code Style | Java | Code Generation | Line comment at first column 取消  and Block comment at first column 取消

 

project module facets Artifacts 区别

IntelliJ Idea中的 Facets 与 Artifacts【转】 

 

idea设置默认浏览器

File | Settings | Tools | Web Browsers | 仅选中Chrome 且Default Browser 从System Default 改成First Listed 

 

数据库配置

通过 View | Tool Windows | Database 打开数据库视图, 配置好数据库后, 在数据库管理器中右键数据库名称Make Global , 让所有项目都能看到本数据库配置

 

 

springboot启动时指定端口

在Environment variables 中配置 server.port=7001即可

 

svn配置

安装tortoiseSVN时要手动选择command-line , 不然在idea中会报Can't use Subversion command line client: svn错

File | Settings | Version Control | Subversion 指定svn.exe地址

 

 idea在方法之间添加行分隔

File | Settings | Editor | General | Appearance | Show Method Separators 打勾, 效果如下

 

异常提示 Server's certificate is not trusted 

File | Settings | Tools | Server Certificates | Accept non-trusted certificates automatically 打勾

 

idea maven项目模块为什么变成灰色?

因为之前不小心将对应模块的pom.xml加到忽略文件中了,所以部分模块没有加载到

如果觉得项目本身引入没问题, 那么很有可能是在以下目录中被自动打勾了, 去掉选中的勾子即可.

File | Settings | Build, Execution, Deployment | Build Tools | Maven | Ignored Files

 

 

 

 

idea 内存配置

 在VM options中配置 -Xms128m -Xmx256m

 

 

IDEA+SpringBoot项目启动参数设置==》https://blog.csdn.net/weixin_37490221/article/details/82967526

 

显示idea run dashboard面板

run | edit Configuration | +新建springboot项目 | 之后右下角会自动弹出是否显示 dashboard 选项 , 点击允许即可.

 

springboot在idea的RunDashboard如何显示出来听语音==>https://jingyan.baidu.com/article/ce4366495a1df73773afd3d3.html  (内含2种方法)

 

idea批量替换文件中的内容

 

 

 

IDEA maven正常项目模块配置

 

 

idea 查看 git History

使用Show Diff 时, 对比的是当前版本和前一版本, 所以对比结果是 2 比3 , 而Compare with Local 的时候对比的是当前版本和本地文件

 

 

IDEA 下 Terminal 中文乱码

 解决 IDEA 下 Terminal 中文乱码(Unicode 编码)==>https://www.jianshu.com/p/8f3e10c7a38f

首先将IDEA Terminal 命令窗口修改为 Git bash 命令窗口:
1、打开 settings 设置界面,选择 Tools 中的 Terminal (File -> settings -> Tools -> Terminal)
2、修改 Shell path 为你的 Git bash 安装路径,我的在D:\program\Git\bin\bash.exe

3、保存设置,关闭IDE。

 

然后解决中文 Unicode 编码问题
修改 Git 的安装目录下的bash.bashrc文件,我的目录是:D:\developer\Git\etc,在该文件最后添加以下代码

# 解决IDEA下的terminal中文Unicode编码问题

#下一行为原文件最后一行
shopt -q login_shell || . /etc/profile.d/git-prompt.sh

#尾行增加内容如下
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

 

最后重启 IDEA即可。

解决 IDEA 下 Terminal 中文乱码(Unicode 编码)==>https://www.jianshu.com/p/8f3e10c7a38f

然而在idea2020下并没X用 

 

 生成.iml文件

在缺少.iml文件项目下运行以下命令,完成后将自动生成.iml文件

mvn idea:module

 

freemarker支持

IDEA全功能版 对 freemarker  语法是 原生支持的,不需要装什么插件, 直接在 IDEA目录树这边 新建 xx.ftl 后缀自动就有语法支持 ,你可以直接在里面编写 html  , 跟 .html 后缀一样的,缩进什么的 ,完全没有问题。如果你不爽 ftl后缀 ,可直接

file->settings->file types -> freemarker template files ->  *.tpl 

 

 

IntelliJ IDEA强制更新Maven的包

1、手动删除Project Settings里面的Libraries内容,【Ctrl】+【Alt】+【Shift】+【S】,全选之后点击左上角的减号按钮。

2、在Maven Project的试图里的Lifecycle下面clean一下,删除之前编译过的文件;

3、项目右键->Maven->Reimport

4、如果还不能更新,那么直接删除本地仓库的全部包,然后重新下载一下。

 

idea在注册中超链接跳转到指定类

    /**
     * 跳转到指定类
     * {@link PayEO}
     * 
     * 跳转到指定类的指定方法
     * @see PayEO#setAmount(BigDecimal)
     */

 

 

idea不能正确反编译class /* compile ... */反编译异常

反编译出来的jar包出现灰色注释如下

 

 

问题:idea使用自带的反编译插件只有函数名,而函数体出现/* compiled code*/。这通常是多个反编译插件混淆导致。

解决方法:file->settings->plugins 禁用掉‘Java Decompiler Intellij Plugin’,重启即可。

 

 

idea保存文件后自动加换行导致判断异常

我的项目中为了动态判断报文是json还是xml格式, 需要判断文件是以{开头 }结尾, 或[开头 ]结尾 才判定成json, 不我就定为xml, 但是idea自动给我加上换行以后, 导致我的json 被误判断成了xml ,

当初一脸蒙圈, 死活去不掉最后一个换行, 删了重新打开又加上了换行, 但是又不想在代码中使用trim( ) , 因为 trim( ) 大报文也有性能开销.

搜索"idea 保存后自动添加换行" 关键字后, 找到解决方法      Settings | Editor | General | Ensure every saved file ends with a line break

 

 idea模拟http请求

使用idea模拟http请求.http

POST http://localhost:8080/jpa/api/saveOnePerson
Content-Type: application/json

{"a":"b"}

###

 

 

模拟文件上传.http

POST http://localhost:8099/generator/controller/excel/analysis/createBeanAnd4Component.noauth?allSheet=0
Content-Type: multipart/form-data; boundary=WebAppBoundary123
X-Auth-Token: c3efefd6e930451f8ed56ae7386157a0

--WebAppBoundary123
Content-Disposition: form-data; name="type"
Content-Type: text/plain

1
--WebAppBoundary123
Content-Disposition: form-data; name="name"
Content-Type: text/plain

bobo
--WebAppBoundary123
Content-Disposition: form-data; name="file"; filename="test.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

< C:/Users/King/Desktop/java-jar/自动生成实体类模板表格.xlsx

###

使用 Alt + Shift + X 可以无缝衔接触发请求

 

IDEA中正则搜索(查找,查询,定位)既包含某个字符串又包含另一个字符串的行

实用正则     ^.*logger\.error.*\{\}.*$      用于搜索既包含logger.error又包含{}的行 , 因为这种格式不会打印异常轨迹, 一般新手很容易犯这类错 , 然后我们手动把它改成 logger.error("bbbb",e)  

 

 

 

IDEA中正则搜索(查找,查询,定位)包含某个字符串但不包含另一个字符串的行

以下样例为用正则 搜索,定位,查询,查询 包含abc 不包含def 的行

^.*abc.*(?<!def.*)$

说明

当使用正则表达式 ^.*abc.*(?<!def.*)$ 进行匹配时,以下是对每个部分的解释:

  • ^:表示匹配行的开头。
  • .*:表示匹配任意数量的字符(除了换行符)。
  • abc:表示要匹配的关键字 "abc"。
  • .*:表示匹配任意数量的字符(除了换行符)。
  • (?<!def.*):表示负向后行断言,用于排除包含 "def" 关键字的行。(?!def.*) 表示正向后行断言,用于匹配包含 "def" 关键字的行。
  • $:表示匹配行的结尾。

 

选中右边的正则模式搜索按钮 .*

 

 

 

IDEA 程序包不存在,找不到符号(20210618 | 20230904 亲测很有效)

使用mvn idea:idea解决 

出现jar包找不到的问题,首先有可能是项目依赖中有些jar没有下载完整,而mvn idea:idea这个命令可以检查并继续下载未下载完整的依赖jar。在命令行输入mvn idea:idea ,重下依赖.

然后在idea的菜单上点击 | File | invalidate caches 重启就可以了

 

IDEA 中关键字FIXME可以着色

 

 

 

idea引入oracle  jar包

3、添加oracle.jar包
由于 oracle的jar包是收费的,需要根据jdk和oracle的版本自行下载。下载好以后需要添加依赖或者引入jar包。

3.1、引入jar包流程一:


3.2、引入jar包流程二:
第一步:将所需jar包拷贝到libs文件夹中

第二步:

 第三步:重载maven项目

使用idea的可视化界面快速批量删除git分支

idea 界面左下角 | git | log | 选择(本地或远程)分支 | 删除分支

 

 

idea提交代码时老是Analyzing Code 等得受不了

File | Settings | Version Control | Commit | 取消 Analyze code 和 Check TODO 这两个默认的勾

 

快速打印语句添加

在代码后面输入.sout可以快速添加打印语句

 

idea 接口调试工具

IntelliJ IDEA的这个接口调试工具真是太好用了!==>https://www.cnblogs.com/FraserYu/p/12290061.html 

IDEA-HTTP工具==>https://www.jianshu.com/p/2404654d655a

 

IDEA中Compile、Make、Build区别

在Java的集成开发环境中,比如Eclipse、IDEA中,有常常有三种与编译相关的选项Compile、Make、Build三个选项。这三个选项最基本的功能都是完成编译过程。但又有很大的区别,区别如下:
1、Compile:只编译选定的目标,不管之前是否已经编译过。

2、Make:编译选定的目标,但是Make只编译上次编译变化过的文件,减少重复劳动,节省时间。(具体怎么检查未变化,这个就不用考虑了,IDE自己内部会搞定这些的)

3、Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置 了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。

 参考自: IDEA中Compile、Make、Build区别==>https://blog.csdn.net/lisiben/article/details/84907587

 

 idea安装插件

$ IntelliJ IDEA必装插件以及SpringBoot使用小技巧合集==>https://www.jianshu.com/p/2e71a22f864b

$ 没用过这些 IDEA 插件?怪不得写代码头疼==>https://blog.csdn.net/weixin_43570367/article/details/103978005?utm_medium=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-77.nonecase&depth_1-utm_source=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-77.nonecase

 

 idea禁用插件

kotlin 插件禁用了

 

 

其它小知识

pom.xml中的<name>节点会影响idea 的右边maven插件名显示

其它

IntelliJ IDEA Default Keymap==>https://www.cnblogs.com/dogharry/p/4343671.html

 intellij idea 如何在同一窗口中打开多个项目==>https://jingyan.baidu.com/article/2d5afd693cd67e85a3e28e6f.html

$$$你们都在用IntelliJ IDEA吗?或许你们需要看一下这篇博文==>https://www.cnblogs.com/clwydjgs/p/9390488.html

IntelliJ IDEA启动一个普通的java web项目的配置==>https://www.cnblogs.com/zhujiqian/p/11532275.html

 

使用idea导入非maven项目tomcat并编译运行==>https://blog.csdn.net/flysun3344/article/details/81178728

$$$Idea使用tomcat运行web项目==>https://blog.csdn.net/lady132/article/details/89505855

 

IntelliJ IDEA远程连接linux,一键上传jar包==>https://blog.csdn.net/weixin_41637749/article/details/90074460

如何在IDEA中把工具类打包成Jar?==>https://blog.csdn.net/ysdsxry/article/details/102289258

待学习

异常断点调试 深入Spring Boot:怎样排查expected single matching bean but found 2的异常==>https://blog.csdn.net/hengyunabc/article/details/78762121

posted @ 2018-08-06 16:03  苦涩泪滴  阅读(523)  评论(0)    收藏  举报