1.基础代码补全
import java.lang.*;
import java.util.*;
class BasicCompletionDemo implements Runnable{
private int i = 0;
public void systemProcess(){
System.out.println(i++);
}
@Override
public void run() {
Random random = new #1#
}
public BasicCompletionDemo() {
byte b = MAX_VALUE#3#
}
}
在#1#处输入Ran,回车,可以看到给出的提示,选择Random回车,会自动补全Random类名和方法,光标留在方法参数位置
按Ctrl+空格 给出提示,选择i,来给Random方法添加参数 (注意和系统输入法切换快捷键冲突,请修改一方的快捷键)
这时光标还在方法的参数中,想结束当前行,并在末尾加入;号,按下Ctrl+Shift+Enter
在#3#中按下Ctrl+空格 不会有什么建议,但是按下两次,就会出现深层建议。
2.智能代码补全
代码如下:
import java.lang.String;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Queue;
import java.util.concurrent.ArrayBlockingQueue;
class SmartCompletionDemo{
private Queue<String> strings;
private ArrayBlockingQueue<String> arrayBlockingQueue;
public SmartCompletionDemo(LinkedList<String> linkedList, HashSet<String> hashSet) {
strings = #1#
arrayBlockingQueue = new ArrayBlockingQueue<String>(hashSet.size());
for (String s : hashSet)
arrayBlockingQueue.add(s);
}
private String[] toArray() {
return #2#
}
}
在#1#处,按下Ctrl+Shift+空格 会提示arrayBlockingQueue 和linkedList,因为他们的类型刚好和strings的类型匹配,所以IDE会给出可能的提示。
在#2#处,按下Ctrl+Shift+空格 会提示arrayBlockingQueue.toArray(new String[0])和strings.toArray(new String[0]),更具返回值类型,这是可能出现的字符串数组
3.声明补全
在for的条件块外按下Ctrl+Shift+Enter 会自动补全大括号
写if按下Ctrl+Shift+Enter 自动补全大括号,光标留在条件语句位置
写入i%j==0 按下Ctrl+Shift+Enter 格式化条件,并自动跳入到大括号里
在一行中写入 isPrime=false;break 按下Ctrl+Shift+Enter 自动格式化代码,并补全句尾的分号;
4. 用Tab补全
import javax.swing.*;
class FrameDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("FrameDemo");
frame.setSize(175, 100);
frame.setDefaultCloseOperation(WindowConstants.#1#DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
}
在#1#处,按下Ctrl+空格 显示提示信息,在列表中选择要替换的变量,按Tab键,替换原有的变量。