原文

一、常用快捷键

  • 编辑
    ⇧ + ↩:开始新的一行
    ⌘ + ⇧ + ↩:行内任意位置进行换行,并自动补齐“;”、“{}”
    ⌘ + ⇧ + 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. jquery.serializejson.min.js的妙用

    关于这个jquery.serializejson.min.js插件来看,他是转json的一个非常简单好用的插件. 前端在处理含有大量数据提交的表单时,除了使用Form直接提交刷新页面之外,经常碰到的需 ...

  2. datagrid如何获取选中行的索引

    //datagrid获取选中行 var row =baseSelectgrid.datagrid('getSelected'); // 获取被选中行的索引 index var index=baseSe ...

  3. WinPE基础知识之导入表

    // 导入表 (结构体数组,以一个全零元素为结尾,每一个数组元素,代表一个PE文件导入信息) // 导入表存储的是从其它PE文件导入过来的函数名.序号,加载到内存之后,还存储这些函数的地址 typed ...

  4. OpenCl入门——实现简单卷积

    现在的卷积实现无非是那么几种:直接卷积.im2col+gemm.局部gemm.wingrod.FFT.如果直接卷积的话,其实kernel函数是比较好实现.以下代码参考至<OpenCL Progr ...

  5. 测试clang-format的格式化效果

    我自己写的业余框架已告一段落,主体功能已完成,剩下的就是优化.第一个要优化的,就是代码格式.我一直是用编辑器写代码的,从之前的UltraEdit到notepad++到sublime text,再到现在 ...

  6. mysql 利用 case 批量更新

  7. 智能指针原理及实现(2)unique_ptr

    只允许基础指针的一个所有者. 可以移到新所有者(具有移动语义),但不会复制或共享(即我们无法得到指向同一个对象的两个unique_ptr). 替换已弃用的 auto_ptr. 相较于 boost::s ...

  8. Win10系统Edge浏览器怎么截取网页长图?

    有时我们在工作演示时会需要截取网页上的图片,不过简单的截图可以,但如果需要截取超过屏幕大小的整个网页,你是不是就有些束手无策了.虽然拼接图片也是种方法,但毕竟还是不方便,下面好系统重装助手就教你在Wi ...

  9. 01_Hive简介及其工作机制

    1.Hive简介 Hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一个表.并提供类SQL查询功能, 可以将sql语句转换为MapReduce任务运行.其优点是学习成本低, ...

  10. Linux下安装opencv(踩坑记录帖)

    1.首先安装依赖项:sudo apt install build-essential sudo apt install build-essentialsudo apt install cmake gi ...