快捷键
任何操作快捷入口:Ctrl+shift+A (help–>find action) 查看快捷键或直接点击跳转!
代码助手:
智能提示1:alt+enter
智能提示2:Ctrl+shift+space
新建文件操作:alt+insert 复制文件:F5
移动文件:F6
删除行:Ctrl+X /y
复制Ctrl+d
大小写:Ctrl+shift+U
接口实现类:Ctrl+alt+b
代码格式化Ctrl+Alt+L
自动清除无用引用:Ctrl+alt+o
反撤销:ctrl+shift+z
方法参数提示:CTRL+p
方法、类说明:CTRL+q
查看源码:CTRL+b/=或鼠标左击
某一方法、变量、类在工程中哪些地方被用到:alt+f7
postfix后缀模板:100.fori a.sout name.field(构造函数里) u.return u.nn(if(u!=null))
liveTemplate模板/代码块 :随着代码的书写自动提示出来
导包:设置自动导入:editor-general-autoimport勾选自动优化导包+存在歧义手动导包
高效定位:
后退前进:Ctrl+alt+左箭头
编辑区到文件区:alt+对应数字 文件区到编辑区:esc
精准搜索:
搜索所有:shift+shift
搜索类:ctrl+N
搜索文件:ctrl+shift+N
搜索函数符号:ctrl+alt+shift+N
搜索字符串:ctrl+shift+f
关联一切:
spring关联:file-->projectstruct--->facets添加
优点:bean和注入都有相关提示
与数据库关联:
优点:mybatis书写sql时会有表名或其他提示
数据库改表名或者字段名会提示代码一起改
断点调试:
1、添加断点:Ctrl+F8
2、单步运行:F8
3、继续运行:F9
4、查看所有断点:shift+Ctrl+F8
5、禁止后续所有断点:mute breakpoints
6、条件断点:右键断点处增加条件
7、表达式求值:断点时shift+F8
8、跳到光标指定行:Ctrl+f9
9、setValue:在debug的variables按f2进行动态修改执行
运行上下文:
当前可运行列表中选择一个运行:alt+shift+f9
编辑当前运行:
项目自动重启:setting 里的compiler设置自动编译,ctrl+shift+alt+/ registry设置
complier:automake app running
*工程创建
对于不支持多工程并开的idea,我们可以通过多模块并开的方式组织我们的工程代码
- **创建多模块工程:**直接创建一个空的工程,在空工程中再来创建我们多样的模块工程
工程导出
- **导出源文件:**直接copy文件夹即可
常见问题
- Intellij IDEA Module 的Language Level。要知道是maven编译构建,注意maven的配置
pom.xml中指定compiler的版本
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
或者这么设置
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
- Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
1,Project Structure里确认两个地方:Project sdk以及project language level
2,Project Structure->Modules里Sources里的Language level
3,Preferences->java Compiler->Per-module bytecode Version
传统项目tomcat部署
传统web项目部署后的结构
idea的project可以理解为一个文件夹,针对上面单module的web项目配置
module的配置:设定src和配置文件夹为Sources文件夹即可,对应部署后web-inf下的目录
打包部署配置:打包文件包含web-inf(对应部署后目录结构2和3)和web facet(对应部署后目录结构1)。
注意打包输出目录,不要包含在module文件编译后的输出目录下(内容类似部署后的目录3)。因为打包目录需要包含module的编译目录,如果module编译目录下有打包目录,一边打包目录一边增加,陷入死循环