SDKs是软件开发工具包,与JDK的概念相似,语言级别(Language level)可以选择比SDK版本低的版本。
取消双击shift:File->Settings->Advanced Settings->勾选Disable double modifier key shortcuts。
层级关系:project(工程)-module(模块)-package(包)-class(类)。
module的删除:使用右键点击remove module不能删除module,只是将其降级为文件目录,里面的文件不能运行,文件仍然存在。需要再次右键选择delete才是真正的删除。
导入module:先将文件夹复制到项目文件夹内,然后在File->Project Structure->Modules->点击+号->选择目标文件夹。
在File->Setting->File Encodings->点击加号可以为部分文件指定特定的编码。
当父类的方法被子类重写时,给父类该方法打断点,IDEA会自动在子类处打上断点,并不会经过父类的该方法。
字段断点:在类的属性的声明上打断点,默认对属性的修改操作进行监控。
可以在断点处右键后在condition处填入启动断点的条件,只有满足条件才会启动断点。
异常断点:对异常进行跟踪,如果程序出现指定异常,程序就会执行断点,自动停止。在查看所有断点位置的地方点击加号,选择Java Exception Breakpoints
。
MAVEN的作用在于管理规模庞大的jar包和在脱离IDE环境进行构建操作。
构建的主要环节
- 清理:删除上一次构建的结果,为下一次构建做好准备。
- 编译:Java源程序编译成*.class:字节码文件。
- 测试:运行提前准备好的测试程序。
- 报告:针对测试的结果生成一个全面的信息。
- 打包:Java工程:jar包;Web工程:war包。
- 安装:把一个Maven工程经过打包操作生成的jar包或war包安装到Maven仓库。
- 部署:将准备好的jar包或war包部署到服务器上运行
Tomcat输出乱码问题解决
- 点击Help=>Edit custom VM Options,在最后面添加-Dfile.encoding=UTF-8。
- 在当前Tomcat实例中配置VM option,添加-Dfile.encoding=UTF-8。
- 在第二步的Startup/Connection页签的Run和Debug添加一个key为JAVA_TOOL_OPTIONS,value:为
- Dfile.encoding=UTF-8
的环境变量。 - 保存后重启DEA,可以发现控制台中文乱码显示正常了。
常见代码模板
输入 | 输出 |
---|---|
变量名.null | if(变量==null) |
变量名.nn或变量名.notnull或inn | if(变量!=null) |
ifn | if(xx==null) |
inn | if(xx!=null) |
数组或集合变量.fori | for循环 |
数组或集合变量.for或循环数组或集合变量.iter | 增强for |
循环数组或集合变量.forr | 反向for |
sout | System.out.println |
soutm | 打印当前方法的名称 |
soutp | 打印当前方法的形参及形参对应的实参值 |
soutv | 打印方法中声明的最近的变量的值 |
变量名.sout | 打印当前变量值 |
变量.soutv | 打印当前变量名及变量值 |
new 类名.var | 创建对应的类并赋给相应的变量 |
new 类名.field | 将方法刚创建的对象抽取成一个属性 |
对象.cast | 将对象强转 |
对象.castvar | 将对象强转后赋给一个变量 |
psf | public static final |
psfi | public static final int |
psfs | public static final String |
prsf | private static final |
快捷键的使用
快捷键 | 作用 |
---|---|
复制代码 | ctrl+c |
粘贴 | ctrl+v |
剪切 | ctrl+x |
撤销 | ctrl+z |
反撤销 | ctrl+shift+z |
保存 | crtl+s |
全选 | ctrl+a |
智能提示 | alt+enter |
提示代码模板 | ctrl+j |
使用xx块环绕 | ctrl+alt+t |
生成getter/setter/构造器等结构 | alt+insert |
自动生成返回值变量 | ctrl+alt+v |
复杂指定行的代码 | ctrl+d |
删除指定行的代码 | ctrl+y |
切换到下一行代码空位 | shift+enter |
切换到上一行代码空位 | ctrl+alt+enter |
向上移动代码,只能在方法内移动 | ctrl+shift+向上方向键 |
向下移动代码,只能在方法内移动 | ctrl+shift+向下方向键 |
向上移动一行代码,任意移动 | alt+shift+向上方向键 |
向下移动一行代码,任意移动 | alt+shift+向下方向键 |
方法的形参列表提示 | ctrl+p |
批量修改指定的变量名、方法名、类名等 | shift+F6 |
抽取代码重构方法 | ctrl+alt+m |
重写父类的方法 | ctrl+o |
实现接口的方法 | ctrl+l |
选择的结构的大小写的切换 | ctrl+shift+u |
批量导包 | ctrl+alt+o |
如何查看源码 | ctrl+选中指定的结构或ctrl+n |
显示当前类结构,支持搜索指定的方法、属性等 | ctrl+F12 |
退回到前一个编辑的页面 | ctrl+alt+向左方向键 |
进入下一个编辑的页面 | ctrl+alt+向右方向键 |
打开的类文件之间的切换 | alt+向左方向键/向右方向键 |
光标选中指定的类,查看继承树结构 | ctrl+h |
查看方法文档 | ctrl+q |
类的UML结构图 | ctrl+alt+u |
定位某行 | ctrl+g |
回溯变量或方法的来源 | ctrl+alt+b |
折叠方法实现 | ctrl+shift+- |
展开方法实现 | ctrl+shift++ |
查找指定的结构 | ctrl+f |
快速查找选择的Word快速定位到下一个 | ctrl+l |
查找与替换 | ctrl+r |
直接定位到当前行的首位 | home |
直接定位到当前行的末位 | end |
查询当前元素在当前文件中的引用,然后按F3可以选择 | ctrl+F7 |
全项目搜索文本 | ctrl+shift+f |
关闭当前窗口 | ctrl+f4 |
格式化代码 | ctrl+alt+l |
使用单行注释 | ctrl+/ |
使用/取消单行注释 | ctrl+shift+/ |
选中数行,整体往后移动 | tab |
选择数行,整体往前移动 | shift+tab |
单步调试(不进入函数内部) | F8 |
单步调试(进入函数内部) | F7 |
强制单步调试(进入函数内部) | alt+shift+F7 |
选择要进入的函数 | shift+F7 |
跳出函数 | shift+F8 |
运行到断点 | alt+F9 |
继续执行,进入下一个断点或执行完程序 | F9 |
停止 | ctrl+F2 |
查看断点 | ctrl+shift+F8 |
关闭 | ctrl+F4 |
推荐安装的插件
- Alibaba Java Coding Guidelines:阿里巴巴Java编写规范。
- jclasslib Bytecode Viewer:字节码分析工具。
- Translation:翻译软件。
- GenerateALLSetter:依次调用Setter函数对属性赋值。光标选中对象后使用
alt+enter
即可选中操作。 - Rainbow Bracket:给括号添加彩虹色,通过颜色区分括号嵌套层级。
- CodeGlance Pro:在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。
- Statistic:统计代码情况。
- Presentation Assistant:快捷键助手。
- Key Promoter X:快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。
- JavaDoc:生成文本注释,选中对应的代码,然后
alt+ins
生成文本注释。 - LeetCode Editor:leetcode刷题。
- GsonFormatPlus:使用
alt+s
或alt+ins
调取,根据JSON生成对象。 - Material Theme UI:设置主题。