IntelliJ IDEA - 代码辅助功能
Eclipse 和 IntelliJ IDEA 都提供了写代码的辅助功能,包括代码补全、代码生成、快速修饰和动态模板等功能。
1. 快速修复(Quick-fixes)
快捷键:Alt+Enter

所有的快速修复都是基于 Settings | Editor | Inspections 中的选项进行提示。

批量修复
如果需要一次多多个地方进行修复,如整个目录(folder)、一个模块(module)或整个项目(project),可以使用下面两个功能:
- Analyze | Run Inspection By Name
- Analyze | Inspect Code
|
Eclipse |
IntelliJ IDEA |
||
|
Action |
Shortcut |
Action |
Shortcut |
|
Quick fix |
Ctrl+1 |
Show intention action |
Alt+Enter |
2. 生成代码(Generating code)
生成代码操作:Code | Generate (Alt+Insert)

该操作不仅可以在编辑器中使用,在项目窗口和导航栏也可以使用:

此时用于新建文件或包。
3. 代码补全(Code completion)
IntelliJ IDEA提供了多种类型的代码补全功能,包括:
- 基本补全(Basic completion)
- 次级基本补全(Second basic completion)
- 智能补全(Smart completion)
- 次级智能补全(Second smart completion)
- 语句补全(Statement completion)
对于这些补全功能的详细描述,可以参考文章:
https://dzone.com/articles/top-20-code-completions-in-intellij-idea
IDEA默认不显示选择项的文档,不过可以通过如下设置启用:

不过不建议启用,在需要时,可以用Ctrl+Q快捷键调用,如此可以看到对应方法的文档,如下:

当光标在构造函数或方法的括号中,通过 Ctrl+P 可以看到参数信息:

如图,StringReader只有一个构造函数,接受字符串参数。
|
Eclipse |
IntelliJ IDEA |
||
|
Action |
Shortcut |
Action |
Shortcut |
|
Code completion |
Ctrl+Space |
Basic completion |
Ctrl+Space |
|
- |
- |
Smart completion |
Ctrl+Shift+Space |
|
- |
- |
Statement completion |
Ctrl+Shift+Enter |
- 模板
使用方法:输入触发字符串,按Tab键,如下:

IDEA的模板触发方式和Eclipse稍有不同,如下:
|
Template |
Eclipse |
IntelliJ IDEA |
|
Define a main method |
main |
psvm |
|
Iterate over an array |
for |
itar |
|
Iterate over a collection |
for |
itco |
|
Iterate over a list |
for |
itli |
|
Iterate over an iterable using foreach syntax |
foreach |
iter |
|
Print to System.out |
sysout |
sout |
|
Print to System.err |
syserr |
serr |
|
Define a static field |
static_final |
psf |
可用模板列表: Settings | Editor | Live Templates
除了这种常规模板,还有一些其他形式的模板。
后缀模板(postfix templates)

可用后缀模板列表:Settings | Editor | General | Postfix Completion
包含式动态模板(Surround with live template)
快捷键:Ctrl+Alt+J
和上面不同,此时按 Enter 键选择

IntelliJ IDEA - 代码辅助功能的更多相关文章
- IntelliJ IDEA 代码字体大小的快捷键设置放大缩小(很实用)(图文详解)
不多说,直接上干货! 这是在设置IntelliJ IDEA 代码字体的快捷键设置缩小: 怎么达到的了,就是ctrl + 你的鼠标滑扭往下 这是在设置IntelliJ IDEA 代码字体的快捷键设置 ...
- IntelliJ IDEA代码常用的快捷键(自查)
IntelliJ IDEA代码常用的快捷键有: Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O ...
- intelliJ idea代码折叠
在intelliJ idea中不仅可以对类.方法等结构的代码进行折叠(ctrl+-)还可以自定义折叠代码.intelliJ支持两种风格的自定义代码折叠,如下: visual studio style ...
- 如何折叠IntelliJ IDEA代码片段
在 IntelliJ IDEA 中您可以折叠(fold)代码片段,将它们缩小到单个可见行.这样,您可以隐藏当前看起来无关紧要的细节.如果必要的话,折叠的代码片段可以被展开(unfolded). 折 ...
- IntelliJ IDEA代码编码区提示库源不匹配字节码解决办法
在使用IntelliJ IDEA进行开发时,可能会在代码编辑区出现此提示:library source does not match the bytecode for class HelloWorld ...
- intellij 提交代码到git
.配置git .create git repository .git-->add commit Directory .提交代码 git remote add origin https://git ...
- IntelliJ IDEA 代码检查规范QAPlug
转自:http://blog.csdn.net/jizi7618937/article/details/51500725 Avoid Array Loops 数组之间的拷贝使用System.array ...
- IntelliJ IDEA 代码提示快捷键
1.写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法. mac版 是ctrl+enter 2.CodeCompletion(代码完成 ...
- intellij idea 代码正常,但是编译出现 java:需要";"
1. 查看idea 的maven 插件是不是版本太低,发现应用里是用的jdk是1.7 maven插件是2.2.1 2. 查看应用编码,比如部分文件是GBK,里面有中文,而整个应用的编码是Utf-8
随机推荐
- Poco C++ MySQl demo
#include "Poco/Exception.h"#include "Poco/Data/Session.h"#include "Poco/Dat ...
- java的三大框架(三)---Hibernate
一.什么是映射 这里所说的映射就是对象关系映射:将对象数据保存到数据库中,同时可以将数据库数据读入对象中,开发人员只对对象进行操作就可以完成对数据库数据的操作. 二.什么是基本映射 知道了什么是映射, ...
- html5基础知识点
1.WEB基础知识 1.WEB 与 Internet 1.Internet 互联网 若干台计算机 通过 网线 所连接而成的物理设备 主要服务: 1.Telnet 2.Email 3.WWW(Word ...
- android WeakReference(弱引用 防止内存泄漏)与SoftReference(软引用 实现缓存机制(cache))
在Android开发中,基本上很少有用到软引用或弱引用,这两个东东若用的很好,对自己开发的代码质量的提高有很大的帮助.若用的不好,会坑了自己.所以,在还没有真正的去了解它们之前,还是慎用比较好. 下面 ...
- 求第K大数
1.排序找第K个数 2.快速排序分块 时间复杂度 2呢
- JS关于时间的计算
用javascript返回两个时间差,精确到秒: Date.diff = function(a,b){ if(a instanceof Date && b.ins ...
- Torch 日志文件的保存 logroll
Torch 日志文件的保存 logroll 怎样将 Torch 在终端显示的信息,保存到 log 文件中 ? 现在介绍一种方法:利用 logroll 的方式. 参考 https://github ...
- OpenRefine 数据清洗工具
OpenRefine(官方网站:http://openrefine.org/).它能自动对数据内容进行修正与整理.OpenRefine可以实现数据排序.自动查找重复条目并完成数据记录.OpenRefi ...
- mybatis 使用记录(二) 动态拼接查询条件
2016-12-16 阅读项目代码时,在项目的xml文件中发现如下写法: SELECT student_user_id FROM tbr_student_class WHERE 1=1 <if ...
- JavaScript使用XMLHttpRequest 發送GET/Post 請求
<!DOCTYPE HTML> <html> <head> <title>Demo</title> <script type=&quo ...