好好来学习学习IDEA这款神器,让你的效率飞起!视频来自慕课网

本文转载

更多技巧

代码定位

  跳转:

    1.IDEA的左侧侧边栏有1:Project、7:Structure和2:Favorities

      a:各个视图栏的跳转:ALT+序号

        Alt+1:Project

        Alt+2:Favorities

        Alt+4:Run

        Alt+5:Debug

        Alt+6:TODO

        Alt+7:Structure

项目之间的跳转

当使用IDEA同时打开多个项目协同开发时,可以使用快捷键进行跳转:

1.Ctrl+Alt+右方括号跳转到Next Project Window下一个项目窗口

2.使用Ctrl+Alt+左方括号跳转到Previous Project Window前一个项目窗口

3.使用Ctrl+Shift+A输入window project等关键字成功得到相应提示

文件之间的跳转

在项目中文件很多的情况下,有时我们会想找到最近浏览过的文件

  1.Ctrl+E可以找到Recent Files最近浏览过的文件

找到最近修改过的文件

   2.Ctrl+Shift+E可以找到Recently Changed Files最近修改过的文件

浏览、修改位置的跳转

使用Ctrl+Shift+Backspace可以跳转到Last Edit Location最后修改过的位置

Next Edit Loaction没有默认快捷键

使用Ctrl+Alt+向左箭头可以跳转到Back光标之前停留过的地方

使用Ctrl+Alt+向右箭头可以跳转到Forward光标之后停留过的地方

利用书签进行跳转

当使用IDEA查看源码时,可以对关注的代码位置添加书签

  Ctrl+F11可以Toggle Bookmark with Mnemonic使用数字书签标记位置

  Ctrl+1..9可以跳转到对应的书签位置

可以某个类单独添加书签

   Alt+Shift+F可以给某个类add to Favorites添加到Favorites中

   Favorites中可以创建列表,例如把值得学习的代码放到一个列表中

   Alt+Shift+F可以给某个类的某个方法添加到Favorites中

跳转插件emacsIDEAs

1.在编辑一个文件时,有时需要将光标跳转到以某个字母开头的位置如以s开头,文件中有多个以s开头的位置,这时,可以借助emacsIDEAs插件做到快捷跳转

2.安装插件,Ctrl+Shift+A,输入plugins,到Browse Repositories中找到emacsIDEAs插件,Install,然后重启IDEA

3.设置其快捷键,Ctrl+Shift+A,输入keymaps,找到Manage keymaps

  1. 选择Plug-ins,在最下面找到emacsIDEAs,找到AceJumpWord

  2. AceJumpWord 默认的快捷键为Meta+F,一般计算机键盘上并没有这个键,需要另外添加快捷键

  3.右键,Add keyboard Shortcut,为其添加快捷键,我这里设置为Ctrl+J

  4. 使用:如要跳转到以p开头的位置,先按住Ctrl+J,然后再输入p,这时,emacsIDEAs插件会为文件的所有以p开头的单词进行编号,asdf…按下光标要跳转到位置对应的字母即可

编辑区和文件区的跳转

在代码编辑区按Alt+1可以跳转到文件区下,再按ESC就可以从文件区返回到编辑区

    2.Favorites功能:可以显示工程中所有的断点位置;收藏功能。

  Find Action:

        1.IDEA中Help下的Find Action可以帮助我们定位到各个指令。Find Action本身的快捷键是Ctrl+Shift+A

  精准搜索

      1.类

        1.Ctrl+N,可以搜索到指定的Class类

        2.Ctrl+N+N,可以搜索包含JAR包中的类

      2.文件

        1.Ctrl+Shift+N,可搜索到指定的File文件

      3.符号

      4.Ctrl+Alt+Shift+N,可以搜索关键字,包括变量名、函数名和类名等。

      5. 字符串

          要搜索字符串,可以通过Ctrl+Shift+F来实现,有几个选项:

          1. Match case,是否匹配大小写

          2.Words,是否是一个单词

          3.Regex,通过正则表达式搜索

          4. File mask,可以指定在哪个文件下搜索

            1. In Project,在项目下搜索

            2.Module,在模块下搜索

            3.Directory,在目录下搜索

            4.Scope,在指定区域内搜索,还可以自定义搜索区域

代码小助手

  1.列操作

      1.光标选中相关操作

          1Shift+右箭头,选中下一个位置,按住Shift并多次按方向键选中多个位置 Ctrl+右箭头,Move Caret to Next Word把光标移动到下一个单词 Ctrl+Shift+右箭头,Move Caret to Next Word With Slection把光标移动到下一个单词并选中 大小写转换 Ctrl+Shift+U,Toggle Case Home,Move Caret to Line Start将光标移动到本行开始的位置 End,Move Caret to Line End将光标移动到本行最后的位置 Ctrl+Alt+Shift+J,Select All Occurrences,选中所有相同的字符串,多光标操作 F2,自动将光标定位到报错的位置 Ctrl+Alt+L,Reformat Code,重新格式代码 案例,后台向前台传递响应状态时,定义如下四种状态,分别为响应成功、错误、需要登陆和非法参数

 "success"
"error"
"need_login"
"illegal_argument"

现在要把状态封装成枚举类,需要以下几步: 1. 创建枚举类ResponseCode,声明两个属性code和desc并生成构造方法和get方法 2. 把上面四种状态复制过来 3. 将光标选中到“:”,按Ctrl+Alt+Shift+J进行多光标操作,也可以用Alt+J,会依次选中下一个 4. 将全部的光标移动到双引号后面的位置,按住Ctrl+Shift+右箭头选中success等单词,并按Ctrl+Shift+U将单词转换成大写 5. Ctrl+C复制这些单词,使用Home,将光标移动到行首,粘贴,输入左括号,Ctrl+右箭头,将光标移动到“:”前面 6. Ctrl+Shift+右箭头,会选中“: ”,替换成“,” 7. 连续按三次Ctrl+右箭头,或者直接按End键,将光标显示到行的末尾,输入“),” 8. 现在除了最后一行报错,前面的三行就都完成了。ESC取消多光标操作,按F2光标会定位到报错的位置,Shift+左箭头,将最后一个枚举的“,”换成“;” 9. Ctrl+Alt+L,Reformat Code,重新格式代码

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;
} }

  2.live template

可以使用Setting下的Live Templates定义常用的代码模板,分为以下几步: 创建分组:点击+按钮下的Template Group,Create New Group,取组名为“方法” 创建模板:在“方法”分组下,点击+按钮下的Live Templates创建模板。以main函数为例,下图中Abbreviation为模板名称,Description为模板注释,Template text中的内容为模板,其中$END$表示最后光标停留位置,最后要点击define,选择Java表示这个模板定义为Java语言的模板

- 为public static void main定义模板 - Abbreviation:main - Description:public static void main - Template text:

public static void main(String[] args) {
$END$
}

为public static final int定义模板

Abbreviation:psfi

Description:public static final int自定义(IDEA本身就提供了一个)

Template text:public static final int $var1$ = $var2$;使用时var1的内容输入完成后按回车光标就直接到等号右边var2了 为public static final String定义模板 Abbreviation:psfs Description:public static final String自定义(IDEA本身就提供了一个) Template text:public static final String $var1$ = $var2$; 为private int定义模板 Abbreviation:pi Description:private int Template text:

  4.alert enter

编写高质量的代码:

  重构

  抽取

寻找修改轨迹

  git的集成

  local hoistory

关联一切

  spring 的关联

  数据库的关联

程序调试

  断点调试

  run anywhere if you can

其他操作:

  文件操作

  文本操作

  结构图

下载插件失败处理方法:

IDEA快捷键/本文仅供自己参考使用如有侵权立删的更多相关文章

  1. python爬虫抖音 个人资料 仅供学习参考 切勿用于商业

    本文仅供学习参考 切勿用于商业 本次爬取使用fiddler+模拟器(下载抖音APP)+pycharm 1. 下载最新版本的fiddler(自行百度下载),以及相关配置 1.1.依次点击,菜单栏-Too ...

  2. ios的位置和方向(来自苹果官方文档,仅供简单参考)

    取得用户的当前位置 Core Location框架使您可以定位设备的当前位置,并将这个信息应用到程序中.该框架利用设备内置的硬件,在已有信号的基础上通过三角测量得到固定位置,然后将它报告给您的代码.在 ...

  3. Delphi中TApplication详解(转仅供自己参考)

    转自:http://blog.sina.com.cn/s/blog_4d6f55d90100bmv9.html TApplication是用于Delphi应用程序的类型,该类在单元forms中声明.T ...

  4. jquery笔记(仅供个人参考)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  5. (whh仅供自己参考)进行ip网络请求的步骤

    这个过程大致是这个样子: 1 添加通知 2 发送网络请求 里边有一个发送通知的操作 3 执行发送通知的具体操作 代码如下: 1 在VC添加通知 [[NSNotificationCenter defau ...

  6. mathJax基础语法-0基础开始,(这是网上抄来的如果有权限和版权问题联系本人处理,仅供学术参考)

  7. sersync 开机自启 (仅供自己参考)

    sersync是一个实时同步的软件,,将其添加到/etc/rc.local中没有效果 ##之所以没效果是因为:####由于/etc/rc.local是/etc/rc.d/rc.local的软连接,所以 ...

  8. kinect2跑高博的orbslam2的过程(仅供自己参考记录)

    首先感谢高博的无私奉献!http://www.cnblogs.com/gaoxiang12/p/5161223.html 程序所在的目录为:/home/zty/catkin_ws/src/iai_ki ...

  9. 第二步 (仅供参考) sencha touch 使用cmd打包apk

    最新版本的cmd可以直接将sencha touch项目打包成本地应用,不过还有很多不足,本文仅供参考 通过sencha app build native命令可以直接将项目打包成本地应用,不过在命令运行 ...

随机推荐

  1. Go同步等待组/互斥锁/读写锁

    1. 临界资源 package main import ( "fmt" "time" ) func main() { /* 临界资源: */ a := 1 go ...

  2. 数据库持久化框架——MyBatis(1)

    叨叨时刻:内容根据阿里云大学的MyBatis视频教程整理而成,有需要最好跟着视频教程走一遍 MyBatis 是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 ...

  3. Linux03——磁盘分区和挂载

    Windows下的磁盘分区: 常用的两种磁盘分区类型 mbr: 操作系统安装在主分区 只支持4个主分区 拓展分区占一个主分区 gpt(win7 64位之后) 无限主分区 支持超大硬盘3T以上 查看所有 ...

  4. PHP固定长度字符串

    /** * 获取固定长度随机字符串 * @param $n * @return string * @throws Exception */ function gf_rand_str($n) { if ...

  5. ubuntu磁盘分配和挂载

    Linux(ubuntu)可以把分区作为挂载点,常用的几个挂载点.作用及一般应该分配的磁盘空间如下表所示: Markdown Extra 表格语法: 挂载点(目录) 建议大小 格式 作用 / 20G左 ...

  6. 网络辅助北斗/GPS位置服务平台业务量突破10亿次

    导读 北斗卫星导航系统日渐成熟,相关服务也在逐步丰富.深入.为了推动北斗定位功能在手机中的普及,中国信息通信研究院2017年就发布了网络辅助北斗/GPS位置服务平台,支持95%以上商用芯片及终端的北斗 ...

  7. c++写入注册表

    一.说明:      注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息.注册表中的值通过其名称标识.值名称由与键名相同的字符组成.值本身可以是字符串.二进制数据或者是32位无符 ...

  8. H2知识小结

    1.官网: http://www.h2database.com/html/main.html file:///E:/Develop/H2/docs/html/tutorial.html#web_app ...

  9. Elasticsearch系列---初识mapping

    概要 本篇简单介绍一下field数据类型mapping的相关知识. mapping是什么? 前面几篇的实战案例,我们向Elasticsearch索引数据时,只是简单地把JSON文本放在请求体里,至于J ...

  10. LLC半桥谐振变换器调试记录

    1.判断二极管是否击穿 2.判断mos管是否烧坏 直接用声音档,发出响声说明击穿了 3.测试二极管的正负极方法 将万用表调到二极管档 1.信号发生芯片周围的电阻 2.反馈部分的电阻 3.实验准备部分: ...