- Ctrl+F11可以Toggle Bookmark with Mnemonic使用数字书签标记位置
- Ctrl+1..9可以跳转到对应的书签位置
- Alt+Shift+F可以给某个类add to Favorites添加到Favorites中
- Favorites中可以创建列表,例如把值得学习的代码放到一个列表中
- Alt+Shift+F可以给某个类的某个方法添加到Favorites中
- 选择Plug-ins,在最下面找到emacsIDEAs,找到AceJumpWord
- AceJumpWord 默认的快捷键为[Meta](https://www.cnblogs.com/exmyth/p/3541909.html)+F,一般计算机键盘上并没有这个键,需要另外添加快捷键
- 右键,Add keyboard Shortcut,为其添加快捷键,我这里设置为Ctrl+J
- 使用:如要跳转到以p开头的位置,先按住Ctrl+J,然后再输入p,这时,emacsIDEAs插件会为文件的所有以p开头的单词进行编号,asdf...按下光标要跳转到位置对应的字母即可
- Ctrl+N,可以搜索到指定的Class类;mac下:command+o
- Ctrl+N+N,可以搜索包含JAR包中的类
- Ctrl+Shift+N,可搜索到指定的File文件
- 要搜索字符串,可以通过Ctrl+Shift+F来实现,有几个选项:
- Match case,是否匹配大小写
- Words,是否是一个单词
- Regex,通过正则表达式搜索
- File mask,可以指定在哪个文件下搜索
- In Project,在项目下搜索
- Module,在模块下搜索
- Directory,在目录下搜索
- Scope,在指定区域内搜索,还可以自定义搜索区域
- Shift+右箭头,选中下一个位置,按住Shift并多次按方向键选中多个位置
- Ctrl+右箭头,Move Caret to Next Word把光标移动到下一个单词
- Ctrl+Shift+右箭头,Move Caret to Next Word With Slection把光标移动到下一个单词并选中
- Ctrl+Shift+U,Toggle Case
0: "success"
1: "error"
10: "need_login"
2: "illegal_argument"
现在要把状态封装成枚举类,需要以下几步:
public enum ResponseCode {
SUCCESS(0,"SUCCESS"),
ERROR(1,"ERROR"),
NEED_LOGIN(10,"NEED_LOGIN"),
ILLEGAL_ARGUMENT(2,"ILLEGAL_ARGUMENT");
private final int code;
private final String desc;
ResponseCode(int code, String desc) {
this.code = code;
this.desc = desc;
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
}
$END$
表示最后光标停留位置,最后要点击define,选择Java表示这个模板定义为Java语言的模板public static void main(String[] args) {
$END$
}
public static final int $var1$ = $var2$;
使用时var1的内容输入完成后按回车光标就直接到等号右边var2了public static final String $var1$ = $var2$;
private int $VAR2$;
$END$
/**
* $VAR1$
*/
private int $VAR2$;
$END$
private String $VAR2$;
$END$
/**
* $VAR1$
*/
private String $VAR2$;
$END$
for (int i = 0; i < 100; i++) {
}
//当忘记声明arg变量时,使用field
public class Foo {
public Foo(int arg) {
arg.field
}
}
//使用后,会自动生成属性
public class Foo {
private final int arg;
public User(int arg) {
this.arg = arg;
}
}
String m() {
"result".return
}
String m() {
return "result";
}
void m(Object o) {
o.nn
}
void m(Object o) {
if (o != null){
}
}
public static void main(String[] args) {
f1();//Alt+Enter就会自动创建出下面的函数
}
private static void f1() {
}
for (int i = 0; i < list.size(); i++) {
String item = list.get(i);
}
//选中for循环按住alt+enter出现Replace with foreach
for (String item : list) {
}
System.out.println("usernmea is jone");//username拼写错误,单词下会出现波浪线
//按下alt+enter,出现Typo Change to...
//Intellij会给出一些建议的单词
//抽取前
System.out.println("sun");
System.out.println("sun");
System.out.println("sun");
//抽取后
String sun = "sun";
System.out.println(sun);
System.out.println(sun);
System.out.println(sun);
public static final String SUN = "sun";
public static void main(String[] args) {
System.out.println(SUN);
System.out.println(SUN);
System.out.println(SUN);
}
private static String sun;
public static void main(String[] args) {
sun = "sun";
System.out.println(sun);
System.out.println(sun);
System.out.println(sun);
}