应该修改的几个点
自动编译开关
忽略大小写开关
智能导包开关
悬浮提示开关
取消单行显示tabs的操作
项目文件编码
滚轴修改字体大小
设置行号显示
异常处理
错误描述
执行 idea 方法报错如下:
objc[4705]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/java (0x10fb9e4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10fbf54e0). One of the two will be used. Which one is undefined.
解决办法
点击IntelliJ IDEA最上面菜单的”Help”下的“Edit Custom Properties”,没有这个properties文件的话,IntelliJ IDEA会提示创建,在文件中加上
idea.no.launcher=true
重启IntelliJ IDEA
Shortcut key
Key | Desc |
---|---|
F2 / Shift + F2 | locate warn/error |
Alt + Enter | auto fix |
Alt + Ins | generator code |
Alt + ↑/↓ | locate between methods |
Alt + ←/→ | change code view |
Ctrl + Alt + ←/→ | locate last place |
Alt + F7 | find all usage of select element in project |
Ctrl + F7 | find all usage of select element in current file |
Ctrl + B | open class/method in cursor |
Ctrl + E | recently files |
Ctrl + H | show class struct |
Ctrl + F12 | show methods list |
Ctrl + J | show parameters info |
Ctrl + P | live template |
Ctrl + Q | show java doc |
Ctrl + N | find class files |
Ctrl + Shift + N | find files |
Ctrl + Shift + ↑/↓ | code move up/down |
Ctrl + W | selected word++ |
Ctrl + ALT + L | format code |
Ctrl + ALT + T | surround code in block(try…catch…) |
Ctrl + ALT + O | auto import class package |
But sometimes it does not work well. Check this will be okay.
Setting/Editor/General/auto import/add unambiguous imports on the fly
Database
JDK level
Information:Using javac 1.7.0_79 to compile java sources
Information:java: javacTask: 源发行版 1.7 需要目标发行版 1.7
Information:java: Errors occurred while compiling module 'xxx'
Information:15/8/14 下午11:08 - Compilation completed with 1 error and 0 warnings in 1s 913ms
Error:java: Compilation failed: internal java compiler error
If you just want use functions no more than 1.5, right click project->maven->reImport
If you want to use new features more than 1.6.
- open setting (ctrl+alt+s)
- open struts setting (ctrl+alt+s)
Or you can use the maven plugin in maven project:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${plugin.compiler.version}</version>
<configuration>
<source>${compiler.level}</source>
<target>${compiler.level}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
Lib & Artifacts
Ctrl+Alt+Shift+S open the project strut.
-
Libraries
-
Artifacts
You need do this before put the war into tomcat.
Doc
有时候,我们需要为项目生成对应的开发文档。
idea 编辑器中,直接 Tools=>Generate JavaDoc,你可以看到如下界面。
- 中文乱码
在文中下方红框内,添加如下内容
-encoding utf-8 -charset utf-8
- 选择性生成
可以在上方红框内,自定义生成的范围。
Integration
Use idea with JIRA, UML, SSH, FTP and son on.
Plugins
- Junit Generator
Download JunitGenerator
from idea plugins.
- Find Bugs
Download FindBugs-IDEA
- lombok 无效
Tips
- Refactor
If you want to change the class name or var name, use shift+F6 to do this, all reference will be changed.
- Use SVN
- 导入 jar
Web Project
新建
一直使用 maven 新建 web 项目,想手动创建。搜个教程如下: IntelliJ IDEA 创建Web项目(全教程)。
感觉有点麻烦。简单个人整理如下:
(1)新建项目
File->new project 如下图。然后填个名字,直接创建结束 。
(2)部署项目
Run->Edit Configurations 打开部署配置。选择 +
号,此处打算使用 tomcat 进行部署。(下拉列表没有,则在更多里面)
配置如下图:
最下方的 artifact 在【Deployment】中直接点击 +
号,选择项目即可添加。
(3)运行
上述步骤完成后,在 Idea 下方和右上角都会有 tomcat 的标识。点击运行即可。
导入
Live Template
作用
比如输入:
sout
输出:
System.out.println("");
常见模板
Fluent Getter & Setter
Getter
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))
#if ($field.boolean && $field.primitive)
##
#else
##
#end
${name}() {
return $field.name;
}
Setter
#set($paramName = $helper.getParamName($field, $project))
public ##
#if($field.modifierStatic)
static void ##
#else
$classSignature ##
#end
$StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))($field.type $paramName) {
#if ($field.name == $paramName)
#if (!$field.modifierStatic)
this.##
#else
$classname.##
#end
#end
$field.name = $paramName;
#if(!$field.modifierStatic)
return this;
#end
}
DEBUG 技能
如何倒退 debug 点
有时候 debug 模式走断点,忽然走过去了。
如何返回回去呢?
- 最基本的方式
直接重复运行一次
- 比较简单的方式
在当前的高亮 statck 链上,右键,选择【drop frame】,就可以回到上一个 debug 断点。