原文

一、常用快捷键

  • 编辑
    ⇧ + ↩:开始新的一行
    ⌘ + ⇧ + ↩:行内任意位置进行换行,并自动补齐“;”、“{}”
    ⌘ + ⇧ + U:大小写切换
    ⌥ + ⌦:删除到单词的末尾(⌦键为Fn+Delete)
    ⌥ + ⌫:删除到单词的开头
    ⌘ + D:复制当前行或选定的块
    ⌘ + ⌫:删除当前行或选定的块的行
    ⌘ + ⌥ + L:格式化代码
    ⌃ + ⌥ + O:优化import
    ⌘ + N:生成get/set方法
    Option + T:个人自定义Keymap快捷键,自动创建测试类,Navigate->Test
    ⌘ + ⇧ + F9:重新生成
    Option + ⌘ + T:

  • 调试
    Ctrl + D:调试运行
    F8:跳到下一步
    F7:进入方法内部
    Shift + F8:跳到下一个断点或者跳出方法


  • 重构
    ⌘ + Shift + V:访问历史粘贴板
    ⌘ + Shift + .:折叠指定方法、代码块
    ⌘ + Shift + -:折叠所有方法
    ⌘ + Shift + +:展开所有折叠
    ⌘ + Option + L:格式化代码
    Ctrl + Option + O:优化import
    Shift + F6:重命名文件

  • 查找与替换
    ⌘ + F7:查看方法被哪些地方调用
    ⌘ + G:查找模式下,向下查找
    ⌘ + Shift + G:查找模式下,向上查找
    ⌘ + Shift + F:全局查找(根据路径)
    ⌘ + Shift + R:全局替换(根据路径)
    ⌘ + O:查找类文件
    ⌘ + Option + ← / ⌘ + Option + →:退回 / 前进到上一个操作的地方
    ⌘ + Shift + ⌫:跳转到最后一个编辑的地方
    ⌘ + F12:弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)

  • 自定义书签
    F3:选中文件/文件夹/代码行,添加/取消书签
    Option + F3:选中文件/文件夹/代码行,使用助记符添加/取消书签
    Ctrl + 0...9:定位到对应数值的书签位置
    ⌘ + F3:显示所有书签
    ⌘ + 2:显示收藏,包括断点、已签

  • 版本控制
    ⌘ + K:提交代码到版本控制器
    ⌘ + T:从版本控制器更新代码
    Option + Shift + C:查看最近的变更记录
    Ctrl + V:快速弹出版本控制器操作面板
    ⌘ + ⇧ + T:个人自定义Keymap快捷键,Pull from Git,VCS->Git->Repository->Pull
    ⌘ + ⇧ + K:Push to Git,VCS->Git->Repository->Push

  • ide设置
    ⌘ + Shift + F12:切换最大化编辑器
    ⌘ + 1:隐藏显示工程面板
    ⌘ + 5:隐藏显示Debug面板
    ⌘ + ,:打开IDEA系统设置
    ⌘ + ;:打开项目结构对话框
    ⌘ + Shift + A:查找动作(可设置相关选项)
    Ctrl+`: 切换主题、切换演出模式、切换免打扰模式

二、技巧

1. 关闭Tabs

关闭Tabs,用以下快捷键代替,这种习惯更高效。
Command + E:访问最近访问的文件
Command + Shift + E:访问最近编辑的文件
Double Shift:访问任意文件、文件夹

2. Rest Client

Command + Shift + A,然后搜索 Rest Client,仅记录而已,平时还是使用Postman。

3. Language Injection

定义一个字符串后,使用Alt + Enter将字符串标记为 JSON,就可以非常方便地编写 JSON 了,再也不用担心转义的问题。

4. it**生成for循环代码块


// itar 生成array for代码块
for (int i = 0; i < array.length; i++) {
item = array[i];
}
// iter 生成增强forxun
for (Object o : ) {
}
// itli 生成List的遍历
for (int i = 0; i < list.size(); i++) {
Object o = list.get(i);
}
// itve 生成Vector数组迭代
for (int i = 0; i < vector.size(); i++) {
Object elementAt = vector.elementAt(i);
}

5. Live Template

使用Live Template定义常用的代码模板。

// loger
private static final Logger LOGGER = LogManager.getLogger(TicketOrderController.class); // mc
/**
* 功能描述
*
* @author: vipinchan
* @date: $date$ $time$
*/ // todome
//Todo: ——by vipin at $date$ $time$ // tryc
try { } catch (Exception e) {
LOGGER.error(e);
}

6. File Header 注释

创建文件时,自动生成文件头注释。

7. 修改文件无须重启tomcat

8. 自动移除未使用的包

9. 查看当前文件在项目的具体位置

快捷键:Option+F1

10. 设置分屏

File->Settings,搜索keymap,搜索Split Vertically (水平分屏)或Split Horizontally(垂直分屏),设置快捷键:Shift + F

三、主题

主题下载:http://color-themes.com/
我的主题:http://color-themes.com/?view=theme&id=563a1a6280b4acf11273ae3f
主题导入:File→Import Settings...
主题切换:Control + `

四、插件

Material Theme UI,主题插件

Lombok Plugin

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org/,github地址:https://github.com/rzwitserloot/lombok。

第一步:安装插件后重启Ide
第二步:引入依赖包

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>

Alibaba Java Coding Guidelines

阿里巴巴工程师总结出来的开发规约,安装后可以扫描出潜在的代码隐患。

codehelper.generator

GenAllSetter 特性
在Java方法中, 根据 new 关键词, 为Java Bean 生成所有Setter方法。(非常好用)
按GenAllSetter键两次, 会为Setter方法生成默认值。
可在Intellij Idea中为GenAllSetter设置快捷键。
如何使用:
将光标移动到 new 语句的下一行。
点击主菜单Tools-> Codehelper-> GenAllSetter, 或者按下GenAllSetter快捷键。

GenDaoCode 特性
根据Pojo 文件一键生成 Dao,Service,Xml,Sql文件。
Pojo文件更新后一键更新对应的Sql和mybatis xml文件。
提供insert,insertList,update,select,delete五种方法。
能够批量生成多个Pojo的对应的文件。
自动将pojo的注释添加到对应的Sql文件的注释中。
丰富的配置,如果没有配置文件,则会使用默认配置。
可以在Intellij Idea中快捷键配置中配置快捷键。
目前支持MySQL + Java,后续会支持更多的DB。
如果喜欢我们的插件,非常感谢您的分享。

GenDaoCode 使用方法
主菜单Tools-> Codehelper-> GenDaoCode 按键便可生成代码。
方法一:点击GenDaoCode,然后根据提示框输入Pojo名字,多个Pojo以 | 分隔。
Codehelper Generator会根据默认配置为您生成代码。
方法二:在工程目录下添加文件名为codehelper.properties的文件。
点击GenDaoCode,Codehelper Generator会根据您的配置文件为您生成代码
如何配置: https://github.com/zhengjunbase/codehelper.generator

GsonFormat

一键根据json文本生成java类 非常方便

界面配置

    1. 控制台中文乱码
      Tomcat启动配置,添加VM option为-Dfile.encoding=UTF-8

IDEA个人常用配置记录的更多相关文章

  1. 的vim和emacs常用配置记录

    因为经常改变工作环境,所以在这里记录一下我的.vimrc文件和.emacs文件的内容. vimrc的配置文件,主要是设置语法高亮,和tab键的宽度,个人喜欢设置为4个空格的分量. " set ...

  2. Intellij IDEA常用配置记录

    换个IDE试试. 一个地址 http://intellij.mandroid.cn/ http://idea.imsxm.com/ http://idea.iteblog.com/key.php TO ...

  3. Tomcat记录-tomcat常用配置详解和优化方法(转载)

    常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...

  4. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  5. 【转】logback logback.xml常用配置详解(三) <filter>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1110008, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  6. 【转】logback logback.xml常用配置详解(二)<appender>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  7. 【转】logback logback.xml常用配置详解(一)<configuration> and <logger>

    原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...

  8. logback 常用配置详解(二) <appender>

    logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...

  9. logback logback.xml常用配置详解(三)

    logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...

随机推荐

  1. Pytorch入门随手记

    Pytorch入门随手记 什么是Pytorch? Pytorch是Torch到Python上的移植(Torch原本是用Lua语言编写的) 是一个动态的过程,数据和图是一起建立的. tensor.dot ...

  2. asp.net core 中hangfire面板的配置及使用

    1.定义校验授权类DyDashboardAuthorizationFilter /// <summary> /// Hangfire仪表盘配置授权 /// </summary> ...

  3. K2 BPM_曾经我也是996的一员_全球领先的工作流引擎

    最近关于996的工作模式掀起了新一波讨论热潮.事情源于有人在知名代码托管平台GitHub上,发起了一个名为“996.ICU”的项目,意为“工作996,生病ICU”,以抵制互联网公司的996工作制,项目 ...

  4. 01.CNN调参

    转载:调参是个头疼的事情,Yann LeCun.Yoshua Bengio和Geoffrey Hinton这些大牛为什么能够跳出各种牛逼的网络? 下面一些推荐的书和文章:调参资料总结Neural Ne ...

  5. java 值传递还是引用传递

    首先看一下这篇文章 -- 跳 这篇文章就进行了大致的介绍,以及一些简单的例子,但是还缺少一个关键的例子: public class QQ { public static void main(Strin ...

  6. PHP获取mysql数据表的字段名称及详细属性

    SHOW DATABASES //列出 MySQL Server 数据库. SHOW TABLES [FROM db_name] //列出数据库数据表. SHOW CREATE TABLES tbl_ ...

  7. python dict list 遍历的几种常见方法

    list 遍历index,value list = ['one', 'two', 'three'] for i in list: print(list.index(i),i) #rangefor i ...

  8. TCP/IP协议簇 端口 三次握手 四次挥手 11种状态集

    第一章:概念介绍 1.1 VLAN 1.1.1 什么是VLAN VLAN (Virturl LAN) ,翻译成中文是:“虚拟局域网”.VLAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计 ...

  9. fsLayui缓存使用

    概述 缓存主要使用在编辑或查看页面查询数据的方式,通过后端servlet接口获取数据还是通过前端缓存获取.缓存可以使用在实时性要求不高的上面.减少后端servlet请求. 使用步骤 配置支持缓存 需要 ...

  10. location - URL

    1.hash:获取或设置href 属性中跟在数字符号 # 之后的内容 2.跳转页面: 1)location.href 2)location.replace() 3)location.reload(tr ...