原文

一、常用快捷键

  • 编辑
    ⇧ + ↩:开始新的一行
    ⌘ + ⇧ + ↩:行内任意位置进行换行,并自动补齐“;”、“{}”
    ⌘ + ⇧ + 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. chartjs显示数值标签插件:chartjs-plugin-datalabels

    Getting Started #Installation #npm   npm install chartjs-plugin-datalabels --save This plugin can al ...

  2. VBA开发项目分享-1

    这个项目的目的是使用VBA制作一个股票筛选器,股票的指标数据存放在多个工作表,输入多个指标的查询条件,可以从相应的工作表里查询出符合条件的股票数据并返回.项目涉及的VBA知识结构有字典.数组.OLED ...

  3. SparkSQL读取HBase数据

    这里的SparkSQL是指整合了Hive的spark-sql cli(关于SparkSQL和Hive的整合,见文章后面的参考阅读). 本质上就是通过Hive访问HBase表,具体就是通过hive-hb ...

  4. 14 SQLAlchemy

    一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL ...

  5. 小程序 ----踩坑 ---安卓iOS兼容等

    关于小程序一些小功能的代码都在这个GitHub上,感兴趣的可以去看看,https://github.com/huihuijiang/miniProgram目前有:列表左滑删除,拖拽浮标 一.小程序坑1 ...

  6. Chrome开发者工具中Elements(元素)断点的用途

    SAP Engagement Center UI的这个按钮会每秒钟刷新一次,显示页面已经打开了多长时间. 需求:需要找到哪行JavaScript代码不断刷新的按钮文字. 按照经验判断,这个文字肯定是一 ...

  7. JTree实现QQ好友列表

    最近学习了一下JTree的使用方法: 先来看一下树的实例: 构建一个树, DefaultMutableTreeNode root = new DefaultMutableTreeNode(" ...

  8. 转载:Java:字节流和字符流(输入流和输出流)

    本文内容: 什么是流 字节流 字符流 首发日期:2018-07-24 什么是流 流是个抽象的概念,是对输入输出设备的抽象,输入流可以看作一个输入通道,输出流可以看作一个输出通道. 输入流是相对程序而言 ...

  9. 【2】Kafka概念及原理

    1.Kafka背景 1.1.Kafka概要  Apache Kafka是一个开源的.轻量级的.分布式的.可分区的.可复制备份的.基于zookeeper协调管理的分布式流式消息系统.由Scala写成,支 ...

  10. (备忘)Linux mount(挂载命令)详解

    挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的. 命令格式:mount [-t vfstype] [-o option ...