Cooking IDEA

常用快捷键

以下为 Mac 平台的快捷方式,Windows 平台大都就是把 cmd 键换成 control 键

快捷键 说明
cmd+n 查找类
control+n 生成代码
cmd+alt+l 格式化
cmd+f 查找文本
cmd+r 查找替换
cmd+p 方法参数提示
control+j quick doc
cmd+shift+n 查找文件
cmd+alt+shift+n 查找类中的成员
shift+f6 重命名
cmd+y 删除行
cmd+o 重载父类方法
cmd+e 最近访问列表
cmd+b 跳转到声明
cmd+] 跳转到括号的结尾
alt+shift+c 对比最近代码
cmd+w 选择词,行,代码块
control+h 查看类的继承层次
cmd+alt+t surround with
ctrl+shift+t 建立测试类或者在类与测试类中跳转
shift+cmd+delete 上次编辑位置
cmd+alt+m 提取代码块为方法
cmd+alt+p 提取变量为参数
cmd+alt+v 提取为局部变量
control+option+h 显示方法树
fn+option+f7 显示变量的调用处
cmd+shift+a 显示 action 窗口

常用设置

在修改过的文件标签上显示星号

Editor -> General -> Editor Tabs -> 勾选 Mark modified tabs with asterisk

显示行号

Editor -> General -> Appearance -> 勾选 Show line numbers

自动导入引用的包

常用在代码拷贝上,默认拷贝代码后自己还要手动一个个导入包

Editor -> General -> Auto Import -> 勾选 Add unambiguous imports on the fly

关闭重启后自动打开最后一个工程的功能

Appearance & Behavior -> System Settings -> 去掉 Reopen last project on startup 的勾

设置编码格式

Editor -> File Encodings -> 将 IDE Encoding, Project Encoding, Default encoding for properties files 三个全部设置为 UTF-8

修改自动完成的快捷键

Appearance & Behavior -> Keymap -> Main Menu -> Code -> Completion -> 修改 Basic 的值

使用技巧

在命令行中通过 IDEA 打开指定文件

  1. Tools -> Create Command-line Launcher -> 在弹出的对话框中修改 Name 为 “idea"
  2. 然后就可以在命令行中执行 idea 文件名 就可以使用 IDEA 打开指定文件。

修改 toString() 实现方式

IDEA 通过 ctrl+n 快捷键可以自动生成 toString()方法,但是默认的实现方式是通过加号进行字符串连接,因此不适合字段特别多的类。要想提高效率,可以在生成时 Template 属性选择 StringBuilder (JDK1.5) 来使用 StringBuilder 替换。

修改默认 .gitignore

IDEA 或 Android Studio 在生成 Android 项目时会自动生成 .gitignore 文件,但是默认的文件通常都不符合需求,每次都手动改也非常麻烦,这时可以修改默认的 .gitignore 模板。

Mac 平台下 .gitignore模板位置为 /Applications/Android Studio.app(或 IDEA.app)/Contents/plugins/android/lib/templates/gradle-projects/NewAndroidProject/root/project_ignore

建立 Live Template

所谓的 Live Template 是一种代码模板,比如说在 IDEA 中输入 fori就可以生成标准的 for 循环语句,输入 psfi 就可以生成 public static final int,输入 sout 就可以生成输出语句。通过建立自己的 Live Template 可以减少重复劳动,加速开发。

以下以建立一个 Android 的 Fragment 模板来介绍如何建立 Live Template:

  1. 选择 Editor -> Live Templates

    template.png
  2. 点击右边的 + 号,选择 Template Group,输入 group name 为 "android"

  3. 选择刚生成的 android group,继续点击 + 号,选择 Live Template,下方的 Abbreviation 表示快捷键,在这里输入 "nfr”,Description 输入 "create new fragment"

  4. Template text 输入以下文字,其中 "$" 开头的字符表示变量

private static final String $ARG_PARAM$ = "$CLASS_NAME$.$ARG_PARAM$";

private $ARG_CLASS_DITTO$ m$INST_VAR$;

public static $CLASS_NAME$ newInstance($ARG_CLASS$ $ARG_VAR$) {
    $CLASS_NAME$ fragment = new $CLASS_NAME$();
    Bundle args = new Bundle();
    args.put$ARG_CLASS$($ARG_PARAM$, $ARG_VAR$);
    fragment.setArguments(args);
    return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    m$INST_VAR$ = getArguments().get$ARG_CLASS$($ARG_PARAM$);
}
  ```

1. 下方的 `No applicable contexts` 点击 `Define` 按钮,选择 `Java` - `Declaration`,这个选项表示在什么文件的什么位置允许使用该快捷方式,之所以只选择 "Declaration" 是因为我们需要建立的是方法的定义,所以这个快捷方式不应该出现在 "Comments","String" 或者其它方法内部。
2. 修改完毕后随意建立一个 Java 文件,输入 "nfr" 就可以直接生成上面模板定义的代码,并且光标自动定位到第一个变量处,修改变量名后按下回车就可以跳转到下一个变量处。

### 添加 File Template

Live Template 主要用于在文件中生成代码,而 File Template 则是用于根据模板生成文件。

以下以创建一个单例类来介绍详细步骤

1. 在工程的任意目录单击右键,选择 `New` - `Edit File Templates..`

2. 单击 `+`号,`Name` 输入 “Singleton”,`Extension` 输入 `java`

3. 内容处输入以下文本,点击 `OK`按钮

 ``` java
 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
 #parse("File Header.java")
 public class ${NAME}{
     private static ${NAME} ourInstance = new ${NAME}();

     public static ${NAME} getInstance() {
         return ourInstance;
     }

     private ${NAME}() {
     }
 }
  1. 在工程任意目录单击右键,选择 New - Java Class,在弹出的对话框中 Kind 选择刚才建立的 “Singeleton” 就完成了所有操作
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容