应该修改的几个点

自动编译开关

忽略大小写开关

智能导包开关

悬浮提示开关

取消单行显示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

idea

Database

View->Tool Windows: Tool Windows->database: note right of database: Alt+insert

mysql doc zh_CN

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)

setting

  • open struts setting (ctrl+alt+s)

setting

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,你可以看到如下界面。

javadoc

  • 中文乱码

在文中下方红框内,添加如下内容

-encoding utf-8 -charset utf-8
  • 选择性生成

可以在上方红框内,自定义生成的范围。

Integration

Use idea with JIRA, UML, SSH, FTP and son on.

zh_CN

Plugins

  • Junit Generator

Download JunitGenerator from idea plugins.

IntelliJ IDEA JUnit Generator自动创建测试用例到指定test目录

  • Find Bugs

Download FindBugs-IDEA

plugins

  • lombok 无效

why

Tips

  1. 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

IntelliJ Idea 集成svn 和使用

  • 导入 jar

向IntelliJ IDEA创建的项目导入Jar包的两种方式

Web Project

新建

一直使用 maven 新建 web 项目,想手动创建。搜个教程如下: IntelliJ IDEA 创建Web项目(全教程)

感觉有点麻烦。简单个人整理如下:

(1)新建项目

File->new project 如下图。然后填个名字,直接创建结束 。 javadoc

(2)部署项目

Run->Edit Configurations 打开部署配置。选择 + 号,此处打算使用 tomcat 进行部署。(下拉列表没有,则在更多里面)

配置如下图:

javadoc

最下方的 artifact 在【Deployment】中直接点击 + 号,选择项目即可添加。

(3)运行

上述步骤完成后,在 Idea 下方和右上角都会有 tomcat 的标识。点击运行即可。

导入

idea导入eclipse的web项目

Live Template

作用

比如输入:

sout

输出:

System.out.println("");

常见模板

Live Template.xml

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 断点。

参考资料

IDEA的这八条配置你一定要改!