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

  1. 模板

使用方法:输入触发字符串,按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 - 代码辅助功能的更多相关文章

  1. IntelliJ IDEA 代码字体大小的快捷键设置放大缩小(很实用)(图文详解)

    不多说,直接上干货!  这是在设置IntelliJ IDEA 代码字体的快捷键设置缩小: 怎么达到的了,就是ctrl + 你的鼠标滑扭往下  这是在设置IntelliJ IDEA 代码字体的快捷键设置 ...

  2. IntelliJ IDEA代码常用的快捷键(自查)

    IntelliJ IDEA代码常用的快捷键有: Alt+回车 导入包,自动修正 Ctrl+N   查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L  格式化代码 Ctrl+Alt+O ...

  3. intelliJ idea代码折叠

    在intelliJ idea中不仅可以对类.方法等结构的代码进行折叠(ctrl+-)还可以自定义折叠代码.intelliJ支持两种风格的自定义代码折叠,如下: visual studio style ...

  4. 如何折叠IntelliJ IDEA代码片段

      在 IntelliJ IDEA 中您可以折叠(fold)代码片段,将它们缩小到单个可见行.这样,您可以隐藏当前看起来无关紧要的细节.如果必要的话,折叠的代码片段可以被展开(unfolded). 折 ...

  5. IntelliJ IDEA代码编码区提示库源不匹配字节码解决办法

    在使用IntelliJ IDEA进行开发时,可能会在代码编辑区出现此提示:library source does not match the bytecode for class HelloWorld ...

  6. intellij 提交代码到git

    .配置git .create git repository .git-->add commit Directory .提交代码 git remote add origin https://git ...

  7. IntelliJ IDEA 代码检查规范QAPlug

    转自:http://blog.csdn.net/jizi7618937/article/details/51500725 Avoid Array Loops 数组之间的拷贝使用System.array ...

  8. IntelliJ IDEA 代码提示快捷键

    1.写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法. mac版 是ctrl+enter 2.CodeCompletion(代码完成 ...

  9. intellij idea 代码正常,但是编译出现 java:需要";"

    1. 查看idea 的maven 插件是不是版本太低,发现应用里是用的jdk是1.7 maven插件是2.2.1 2. 查看应用编码,比如部分文件是GBK,里面有中文,而整个应用的编码是Utf-8

随机推荐

  1. 浅谈Runloop

    RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理.之后会介绍一下在 iOS 中,苹果是如何 ...

  2. kernel/printk.c

    /* *  linux/kernel/printk.c * *  Copyright (C) 1991, 1992  Linus Torvalds * * Modified to make sys_s ...

  3. android之Volley实现瀑布流

    1.首先我们来看下主布局文件activity_main.xml. <RelativeLayout xmlns:android="http://schemas.android.com/a ...

  4. Ecstore会员密码加密方式破解

    <?php //以下是加密方式,亲测有效 $string_md5 = md5(md5("密码")."用户名"."注册时间");//三个 ...

  5. HDU-2825 Wireless Password(AC自动机+状压DP)

    题目大意:给一系列字符串,用小写字母构造出长度为n的至少包含k个字符串的字符串,求能构造出的个数. 题目分析:在AC自动机上走n步,至少经过k个单词节点,求有多少种走法. 代码如下: # includ ...

  6. Unity全视角游戏的键盘操作位移——研究笔记

    using UnityEngine; using System.Collections; public class MoveCeShi : MonoBehaviour { ; private Char ...

  7. java如何在eclipse编译时自动生成代码

    用eclipse写java代码,自动编译时,如何能够触发一个动作,这个动作是生成本项目的代码,并且编译完成后,自动生成的代码也编译好了, java编辑器中就可以做到对新生成的代码的自动提示? 不生成代 ...

  8. php $_SERVER中的SERVER_NAME 和HTTP_HOST的区别

    关于这个问题,搜索引擎上搜到一大片的文章,有很多问题,在这找到一篇正确的说法:http://mimiz.cn/index.php/php/php-http_host-server_name-diffe ...

  9. Python线程通信

    subprocess 作用 模块用于生产新的进程,连接到其输入.输出.错误管道,并获取其返回值 1. 如何使用subprocess模块 启动子进程的推荐方法是使用以下方便功能. 对于更高级的用例,当这 ...

  10. nginx 反向代理TCP mysql

    stream {upstream mysql { hash $remote_addr consistent; server 10.26.112.12:3306 max_fails=3 fail_tim ...