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
随机推荐
- C#交错数组的用法
class Program { static void Main(string[] args) { /* *交错数组,就是一个一维数组里面的每一项都是一个一维数组 *new交错数组的时候需要注意int ...
- Spark2.0自定义累加器
Spark2.0 自定义累加器 在2.0中使用自定义累加器需要继承AccumulatorV2这个抽象类,同时必须对以下6个方法进行实现: 1.reset 方法: 将累加器进行重置; abstract ...
- iptables的扩展匹配
iptables的匹配条件 一.通用匹配:-s.-d.-p.-i.-o 二.扩展匹配 1.隐含扩展:使用-p{tcp|udp|icmp}指定某特定协议后,自动能够对协议进行扩展 -p tcp --dp ...
- js代码实现下拉菜单
效果 js代码: <script type="text/javascript"> function ShowSub(li) {//函数定义 var subMenu = ...
- DB2 claim与drain
DB2使用claim & drain来控制SQL与utility对数据库对象的访问. claim说明有对象正在访问或是将要访问该对象,而drain则是在对象上面加一个drain lock,等所 ...
- unity 内存中切割图片
一般的说我们切割图片是将一张图片资源切割成更小的图片资源,也就是说在资源上就进行了切割,比如ugui上的切割方法. 如果我们有一些情况比如做拼图,可能让玩家自己选择自己的生活照作为拼图的原图. 那么我 ...
- oracle表分区详解(按天、按月、按年等)
分区表的概念: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区.表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间 ...
- Oracle用法集锦
查询第一条数据 修改表名 ALTER TABLE tablename RENAME TO newtablename 修改列名: ALTER TABLE BD_PRI RENAME COLUMN EU_ ...
- SQL2008中Merge的用法
在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge ...
- 代码安装apk文件
Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri uri = Uri.fromFile(file); in ...