Intellij IDEA 实用设置(骚)
IDEA启动之后卡顿
修改这两个文件,内容如下:
-Xms1024m -Xmx4096m -XX:ReservedCodeCacheSize=1024m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+DisableExplicitGC -XX:SoftRefLRUPolicyMSPerMB=50 -Xverify:none -ea -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true
复制类名包括包名在内的完整类名
显示idea的工具栏:
Java JDK和IntelliJ IDEA 配置及安装(好)
IDEA 超实用使用技巧分享(长篇)
设置创建类文件自动添加注释
/** * <pre> * ${desc} * </pre> * @date ${DATE} ${TIME} * @author 你的名字 */
代码提示不区分大小写:
IDEA 实用功能Auto Import:自动优化导包(自动删除、导入包)
Add unambiguous imports on the fly:快速添加明确的导入。
Optimize imports on the fly:快速优化导入,优化的意思即自动帮助删除无用的导入。
设置 鼠标悬停 提示
idea 读取配置文件出现乱码解决办法
注解生效激活:
File Type过滤:(设置IDEA项目隐藏那些文件或者文件夹)
统一设置idea父工程的包管理,spring cloud的pom.xml
1 <!-- 统一管理jar包版本 --> 2 <properties> 3 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 4 <maven.compiler.source>1.8</maven.compiler.source> 5 <maven.compiler.target>1.8</maven.compiler.target> 6 <junit.version>4.12</junit.version> 7 <log4j.version>1.2.17</log4j.version> 8 <lombok.version>1.16.18</lombok.version> 9 <mysql.version>5.1.47</mysql.version> 10 <druid.version>1.1.16</druid.version> 11 <mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version> 12 </properties> 13 14 <!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version --> 15 <dependencyManagement> 16 <dependencies> 17 <!--spring boot 2.2.2--> 18 <dependency> 19 <groupId>org.springframework.boot</groupId> 20 <artifactId>spring-boot-dependencies</artifactId> 21 <version>2.2.2.RELEASE</version> 22 <type>pom</type> 23 <scope>import</scope> 24 </dependency> 25 <!--spring cloud Hoxton.SR1--> 26 <dependency> 27 <groupId>org.springframework.cloud</groupId> 28 <artifactId>spring-cloud-dependencies</artifactId> 29 <version>Hoxton.SR1</version> 30 <type>pom</type> 31 <scope>import</scope> 32 </dependency> 33 <!--spring cloud alibaba 2.1.0.RELEASE--> 34 <dependency> 35 <groupId>com.alibaba.cloud</groupId> 36 <artifactId>spring-cloud-alibaba-dependencies</artifactId> 37 <version>2.1.0.RELEASE</version> 38 <type>pom</type> 39 <scope>import</scope> 40 </dependency> 41 <dependency> 42 <groupId>mysql</groupId> 43 <artifactId>mysql-connector-java</artifactId> 44 <version>${mysql.version}</version> 45 </dependency> 46 <dependency> 47 <groupId>com.alibaba</groupId> 48 <artifactId>druid</artifactId> 49 <version>${druid.version}</version> 50 </dependency> 51 <dependency> 52 <groupId>org.mybatis.spring.boot</groupId> 53 <artifactId>mybatis-spring-boot-starter</artifactId> 54 <version>${mybatis.spring.boot.version}</version> 55 </dependency> 56 <dependency> 57 <groupId>junit</groupId> 58 <artifactId>junit</artifactId> 59 <version>${junit.version}</version> 60 </dependency> 61 <dependency> 62 <groupId>log4j</groupId> 63 <artifactId>log4j</artifactId> 64 <version>${log4j.version}</version> 65 </dependency> 66 <dependency> 67 <groupId>org.projectlombok</groupId> 68 <artifactId>lombok</artifactId> 69 <version>${lombok.version}</version> 70 <optional>true</optional> 71 </dependency> 72 </dependencies> 73 </dependencyManagement> 74 75 <build> 76 <plugins> 77 <plugin> 78 <groupId>org.springframework.boot</groupId> 79 <artifactId>spring-boot-maven-plugin</artifactId> 80 <configuration> 81 <fork>true</fork> 82 <addResources>true</addResources> 83 </configuration> 84 </plugin> 85 </plugins> 86 </build> 87
设置新项目使用本地Maven
设置当前项目使用本地Maven
maven调试
idea 使用maven构建项目时,target bytecode version经常自动变化
解决方法:在工程的pom.xml中添加
<build>
<finalName>tb.easyuidemo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
或者 导入的项目需要设置java的版本
设置语言级别为Default
设置项目启动使用代理方式连接网络,中文乱码:
-DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=1080 -Dfile.encoding=utf-8
设置SpringBoot启动时使用环境变量:sharding
Program arguments: --spring.profiles.active=sharding
安装常用插件
IDEA中debug程序的时候不想进入某些包或者类的解决方法
在IDEA偏好中(Preferences->Build,Execution,Deployment->Debugger->Stepping)设置Do not step into the classes选项,增加要过滤的包或者类:
IntelliJ IDEA 快捷键终极大全,速度收藏!
增加代码提示快捷键:Ctrl+J(同VS提示代码)
右键菜单:
弹出窗口,按Ctrl+J快捷键
点OK按钮,选Leave,Remove删除原来的。
增加格式化代码快捷键:Ctrl+K,D(同VS提示代码)
右键菜单Add keyboard Shortcut,设置组合快捷键
增加优化导入包快捷键:Ctrl+K,O
自定义重命名快捷键:F2
F2已经被占用了,无法使用,可以更换其他,默认是Shift+F6
常用的快捷键:
IDEA查看类型(接口)的所有实现类(快捷键:“ctrl + h” 或 接口类名左边按钮)
快速检索类(快捷键:“ctrl + n” )
查看类结构(快捷键:“alt + 7” )
查看方法被使用的情况(快捷键:“alt + F7” )
查看最近使用的文件(快捷键:“ctrl + e” )
Ctrl+O 重写父类方法
Ctrl+N 查找类,只能在父类或者接口上使用才能看到效果 Ctrl+Alt+O 优化导入的类和包,增加Ctrl+K,O
ALT+回车 导入包,自动修正
ALT+/ 代码提示 ,增加Ctrl+J
Shift+F6 重构-重命名
CTRL+ALT+L 格式化代码 ,增加Ctrl+K,D
CTRL+R 替換当前文件内容
CTRL+SHIFT+R 替换项目或者模块文件内容
CTRL+F 查找当前文档内容
CTRL+SHIFT+F 查找项目或者模块文件内容
Shift+Shift 进入搜索框
CTRL+H 打开实现某个接口,继承某个父类的所有子类型的窗口
CTRL+SHIFT+减号 折叠所有java代码块
CTRL+SHIFT+加号 展开所有java代码块
Shift+Shift:进入搜索框
Ctrl+H:打开实现某个接口或者继承某个父类的所有子类型窗口
1.知道类名查找类:
CTRL+SHIFT+ALT+N
2.展示类下的所有方法和属性
Ctrl+F12
(这个不一定是正确的,我现在用的不是社区的idea
的快捷键是Ctrl+F3
)
3. 快速查找类或方法在整个项目中的位置:
按住Ctrl
键再点击类或方法会出现所有用到过的文件对象
CTRL + 滑动滚轮 调整窗口显示大小
idea代码编辑器tabs选项卡分多行显示
idea设置代码根据屏幕的大小自适应换行,一共三步
IDEA中输出syso的快捷键设置
IDEA使用笔记(八)——自动生成 serialVersionUID 的设置
关闭 Intellij IDEA 的 Tab 页(Intellij IDEA 一些不为人知的技巧)
- 直接用
Command + E
来找到最近访问的文件:(Ctrl + E) - 或者直接用
Command + Shift + E
来访问最近编辑的文件:(Ctrl + Shift + E)
How do you change highlighting for all files in IntelliJ?
设置项目热启动
设置代码编辑器的默认字体和大小:JetBrainsMono
设置IDE字体:
安装IDEA皮肤:Material Theme UI(深色系漂亮)
安装IDEA皮肤:Gray Theme,Cyan Light Theme(我自己用这个皮肤),Espresso Light Theme(浅色系漂亮)
SpringBoot入门教程(一)详解intellij idea搭建SpringBoot
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 <parent> 6 <groupId>org.springframework.boot</groupId> 7 <artifactId>spring-boot-starter-parent</artifactId> 8 <version>2.2.2.RELEASE</version> 9 <relativePath/> <!-- lookup parent from repository --> 10 </parent> 11 <groupId>com.example</groupId> 12 <artifactId>demo</artifactId> 13 <version>0.0.1-SNAPSHOT</version> 14 <name>demo</name> 15 <description>Demo project for Spring Boot</description> 16 17 <properties> 18 <java.version>1.8</java.version> 19 </properties> 20 21 <dependencies> 22 <dependency> 23 <groupId>org.springframework.boot</groupId> 24 <artifactId>spring-boot-starter-web</artifactId> 25 </dependency> 26 27 <dependency> 28 <groupId>org.springframework.boot</groupId> 29 <artifactId>spring-boot-starter-test</artifactId> 30 <scope>test</scope> 31 <exclusions> 32 <exclusion> 33 <groupId>org.junit.vintage</groupId> 34 <artifactId>junit-vintage-engine</artifactId> 35 </exclusion> 36 </exclusions> 37 </dependency> 38 </dependencies> 39 40 41 </project>
1 package com.example.demo; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6 @SpringBootApplication(scanBasePackages = {"com.example"}) 7 public class DemoApplication { 8 9 public static void main(String[] args) { 10 SpringApplication.run(DemoApplication.class, args); 11 } 12 13 }
package com.example.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.HashMap; import java.util.Map; /** * <pre> * IndexController * </pre> * * @author wangyunpeng * @date 2020/1/8 11:33 */ @Controller public class IndexController { @RequestMapping(value="/", method = RequestMethod.GET) @ResponseBody public String home(){ return "home page"; } @RequestMapping(value="/index", method = RequestMethod.GET) @ResponseBody public Map<String, String> index(){ Map map = new HashMap<String, String>(); map.put("北京","北方城市"); map.put("深圳","男方城市"); return map; } }
idea项目统一设置父工程跳过maven测试:
统一测试一下父工程引用的包安装到本地
IDEA—run面板多个服务显示到Services面板
刚开始以为是没打开Services面板的问题,于是在菜单处,view——Tool Windows——Services。打开了“Services”面板却依然显示如旧。
解决方式
在项目根目录下 .idea/libraries/workspace.xml文件中,加入下面内容即可:
<component name="RunDashboard"> <option name="configurationTypes"> <set> <option value="SpringBootApplicationConfigurationType" /> </set> </option> </component>
重启服务,就看到多个服务显示在Services面板中:
IDEA 设置程序启动参数:(Edit Configuration)
VM options: -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails Program arguments: --spring.profiles.active=dev Working directory: $MODULE_WORKING_DIR$
idea中安装VisualVM监控jvm的图文教程
安装插件:VisualVM
配置IDEA
启动运行监控
监控界面
GIT提交代码信息模版:
在IDEA的Marketplace
中,搜索Git Commit Template
,就可以安装这个插件。
提交git代码
提交信息
选择下面一个radio就可以了
提交类型Type
我们按照插件显示的顺序来说明一下。
feat
功能feature
的意思,也是最常用的。当你的功能有变更的时候,都可以采用这种类型的typefix
当然指的是bug修复docs
更新了文档,或者更新了注释style
代码格式调整,比如执行了format、更改了tab显示等refactor
重构代码。指的是代码结构的调整,比如使用了一些设计模式重新组织了代码perf
对项目或者模块进行了性能优化。比如一些jvm的参数改动,把stringbuffer改为stringbuilder等test
这个简单,就是增加了单元测试和自动化相关的代码build
影响编译的一些更改,比如更改了maven插件、增加了npm的过程等ci
持续集成方面的更改。现在有些build系统喜欢把ci功能使用yml描述。如有这种更改,建议使用cichore
其他改动。比如一些注释修改或者文件清理。不影响src和test代码文件的,都可以放在这里revert
回滚了一些前面的代码