idea 的使用与快捷键

2023-11-17

前面写过一篇IDEA的入门级文章,但是只学会了那些配置啊什么的并不能提高我们的开发效率。事实上,如果你IDEA用的足够熟练,就可以把鼠标扔了。 
附入门级教程传送门: 
http://blog.csdn.net/qq_31655965/article/details/52788374

实时代码模板(Live Templates)

我们先来看一个gif图:

这里写图片描述

大兄弟,你看清我的操作了么?

这个就是实时代码模板的功能。我们来看一下怎么用它。

这里写图片描述

看了这个图,你大概已经知道怎么建立一个新的模板了。下面将一下模板的变量。

第一个gif图里用到了两个模板,一个是系统定义的psvm(private static void main的缩写),使用它我们可以快速创建main函数。另一个是我们自定义的syso(来自eclipse用户的强迫症)

//syso的模板文本
System.out.println("$val$的值是:---"+ $val$ + ",当前方法=$CLASS_NAME$.$METHOD_NAME$()");$END$
 
 
  • 1
  • 2
  • 1
  • 2
  • $VAR1$$CLASS_NAME$$METHOD_NAME$ 都为自己定义的变量名。设置变量名只要用两个 $ 包住即可。
  • 每个变量在代码输出的时候都是一次光标位置,光标跳动顺序从左到右,每次跳动按 Enter。
  • $END$,表示最后都编辑完后光标所处的位置
  • $SELECTION$,表示设置环绕实时代码模板,环绕功能下面会模板专门进行介绍。
  • 除了两个特例,其他被$包裹的都是自定义变量

下面看一下,如何对变量进行设置:

这里写图片描述

看了这个图,你大概就应该清楚了。内置函数直接看一下官网介绍吧,都能看懂的。

内置函数介绍:https://www.jetbrains.com/idea/help/live-template-variables.html

顺便提一句,在左下角还有三个选项,是几个辅助功能。

  • Reformat according to style: 对生成的代码进行格式化(建议勾选)。
  • use static import if possible :静态导入
  • Shorten FQ names :我也不知道这个是干嘛的,默认就勾选了,所以最好选中

这个是一个很强大的功能,大家没事可以多看看系统内置的模板,把自己经常写的代码保存成模板,有利于提高效率。比如:

这里写图片描述

5秒一个单例模式

文件代码模板

这个我想大家都知道吧,你每次新建一个文件的时候,总会有一些已经存在的代码或者文字,这个就是文件代码模板。

DEA 默认新建类自带的类注释格式一般不够友好或是规范,所以我们一般需要自己根据喜好或者一些要求设置。

这里写图片描述

velocity是一种模板,在写javaEE项目的时候,有三种模板可以使用:jsp,freemarker和velocity

这里写图片描述

上面的Java模板有一句#parse("File Header.java"),这个File Header就是在这里定义的。每次创建一个新的java文件,都会有一个这样的头

我们先来看一个例子:

这里写图片描述

看起来屌屌的。怎么做的呢?

这里写图片描述

大概就是这样了。

有的人会说,为什么不在File Header文件中修改呢?因为有很多模板引用了那个文件,如果你修改了它,那么所有引用它的模板都会改变。如果你只想改变java,那只修改class文件就可以了。

由于可以使用velocity的语法,所以模板可以有很多高端写法。

比如可以使用#set( $变量名 = "变量值内容" )来设置一个全局变量,这样在文件的任何位置都能够访问到它,就不需要自己写好几遍了。

更多的模板设置方式,感兴趣的请自行研究velocity。

说了半天,我们讲的都是文件模板,还有代码模板没说。因为,这个改动的不多,系统默认的差不多就够用了。

这里写图片描述

在我们通过快捷方式生成某个类的测试方法时候会自动调用此 Code 模板,所以我们可以解释该 Code 功能主要用在 IntelliJ IDEA 自动帮我们生成某些代码的时候引用的模板。

p.s.代码模板是不能够添加也不能删除的。

Postfix Completion

先看一个例子:

这里写图片描述

哪怕快一秒,也是提高了效率不是么?

这个功能怎么使用呢?

这里写图片描述

没事就打开看看

ALT + Enter介绍

这是一个非常厉害的组合!

厉害到什么程度呢?厉害到我都讲不完的程度。。所以我丢个链接,然后就跑:

https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/newMaster/hotkey-alt-enter-introduce.md

极客学院的教程,图文并茂。

Emmet插件

这个插件写前端的应该都不陌生吧,前端神器。IDEA内置了这个插件。我们来看一下:

这里写图片描述

这个插件强大的很,我觉得是每个前端必会的技能,不会的赶紧去学习一波啊

Java 热部署插件 JRebel 安装及使用

在 Java Web 开发中, 一般更新了 Java 文件后要手动重启 Tomcat 服务器, 才能生效, 浪费不少生命啊, 自从有了 JRebel 这神器的出现, 不论是更新 class 类还是更新 spring 配置文件都能做到立马生效,大大提高开发效率。

JRebel 的安装方法有两种, 一种是直接在 Tomcat 启动参数上面加上 JRebel 的参数, 另外一种是以插件的形式装到 IntelliJ IDEA 上, 比较推荐后者。所以,只讲第二种方式。

这里写图片描述

先装个插件压压惊

这个速度是有点慢的。。可以到官网上把插件下载下来,然后从本地安装:https://zeroturnaround.com/software/jrebel/trial/ (事实上,官网也挺慢的)

这个是需要激活的,但是现在你在官网上注册之后,会自动跳出一个激活码,也就是说,现在你可以免费使用,不过你需要注册一下。网址在上面(安装好在idea里也能注册,但是给不给激活码我就不知道了)。

安装好了之后,查看一下你的插件:

这里写图片描述

在原来运行项目的按钮边上会多出两个绿色的按钮, 如图, 前面那个是 Run, 后面那个是 Debug:

这里写图片描述

配置tomcat

这里写图片描述

然后用jRebel启动项目(run 或者 debug都可以)

这里写图片描述

如果没有报错,并且打印出了版本等信息,这样就证明弄好了。你可以修改一个文件试一下效果。

IntelliJ IDEA 常用快捷键讲解(Mac)

Mac键盘符号和修饰键说明

  •  Command
  •  Shift
  •  Option
  •  Control
  • ↩︎ Return/Enter
  •  Delete
  •  向前删除键(Fn+Delete)
  •  上箭头
  •  下箭头
  •  左箭头
  •  右箭头
  •  Page Up(Fn+↑)
  •  Page Down(Fn+↓)
  • Home Fn + ←
  • End Fn + →
  •  右制表符(Tab键)
  •  左制表符(Shift+Tab)
  •  Escape (Esc)

一、Editing(编辑)

  • Control + Space 基本的代码补全(补全任何类、方法、变量)
  • Control + Shift + Space 智能代码补全(过滤器方法列表和变量的预期类型)
  • Command + Shift + Enter 自动结束代码,行末自动添加分号
  • Command + P 显示方法的参数信息
  • Control + J 快速查看文档
  • Shift + F1 查看外部文档(在某些代码上会触发打开浏览器显示相关文档)
  • Command + 鼠标放在代码上 显示代码简要信息
  • Command + F1 在错误或警告处显示具体描述信息
  • Command + N, Control + Enter, Control + N 生成代码(getter、setter、构造函数、hashCode/equals,toString)
  • Control + O 覆盖方法(重写父类方法)
  • Control + I 实现方法(实现接口中的方法)
  • Command + Option + T 包围代码(使用if..else, try..catch, for, synchronized等包围选中的代码)
  • Command + / 注释/取消注释与行注释
  • Command + Option + / 注释/取消注释与块注释
  • Option + 方向键上 连续选中代码块
  • Option + 方向键下 减少当前选中的代码块
  • Control + Shift + Q 显示上下文信息
  • Option + Enter 显示意向动作和快速修复代码
  • Command + Option + L 格式化代码
  • Control + Option + O 优化import
  • Control + Option + I 自动缩进线
  • Tab / Shift + Tab 缩进代码 / 反缩进代码
  • Command + X 剪切当前行或选定的块到剪贴板
  • Command + C 复制当前行或选定的块到剪贴板
  • Command + V 从剪贴板粘贴
  • Command + Shift + V 从最近的缓冲区粘贴
  • Command + D 复制当前行或选定的块
  • Command + Delete 删除当前行或选定的块的行
  • Control + Shift + J 智能的将代码拼接成一行
  • Command + Enter 智能的拆分拼接的行
  • Shift + Enter 开始新的一行
  • Command + Shift + U 大小写切换
  • Command + Shift + ] / Command + Shift + [ 选择直到代码块结束/开始
  • Option + Fn + Delete 删除到单词的末尾
  • Option + Delete 删除到单词的开头
  • Command + 加号 / Command + 减号 展开 / 折叠代码块
  • Command + Shift + 加号 展开所以代码块
  • Command + Shift + 减号 折叠所有代码块
  • Command + W 关闭活动的编辑器选项卡

二、Search/Replace(查询/替换)

  • Double Shift 查询任何东西
  • Command + F 文件内查找
  • Command + G 查找模式下,向下查找
  • Command + Shift + G 查找模式下,向上查找
  • Command + R 文件内替换
  • Command + Shift + F 全局查找(根据路径)
  • Command + Shift + R 全局替换(根据路径)
  • Command + Shift + S 查询结构(Ultimate Edition 版专用,需要在Keymap中设置)
  • Command + Shift + M 替换结构(Ultimate Edition 版专用,需要在Keymap中设置)

三、Usage Search(使用查询)

  • Option + F7 / Command + F7 在文件中查找用法 / 在类中查找用法
  • Command + Shift + F7 在文件中突出显示的用法
  • Command + Option + F7 显示用法

四、Compile and Run(编译和运行)

  • Command + F9 编译Project
  • Command + Shift + F9 编译选择的文件、包或模块
  • Control + Option + R 弹出 Run 的可选择菜单
  • Control + Option + D 弹出 Debug 的可选择菜单
  • Control + R 运行
  • Control + D 调试
  • Control + Shift + R, Control + Shift + D 从编辑器运行上下文环境配置

五、Debugging(调试)

  • F8 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
  • F7 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
  • Shift + F7 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法
  • Shift + F8 跳出
  • Option + F9 运行到光标处,如果光标前有其他断点会进入到该断点
  • Option + F8 计算表达式(可以更改变量值使其生效)
  • Command + Option + R 恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上
  • Command + F8 切换断点(若光标当前行有断点则取消断点,没有则加上断点)
  • Command + Shift + F8 查看断点信息

六、Navigation(导航)

  • Command + O 查找类文件
  • Command + Shift + O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
  • Command + Option + O 前往指定的变量 / 方法
  • Control + 方向键左 / Control + 方向键右 左右切换打开的编辑tab页
  • F12 返回到前一个工具窗口
  • Esc 从工具窗口进入代码文件窗口
  • Shift + Esc 隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口
  • Command + Shift + F4 关闭活动run/messages/find/… tab
  • Command + L 在当前文件跳转到某一行的指定处
  • Command + E 显示最近打开的文件记录列表
  • Option + 方向键左 / Option + 方向键右 光标跳转到当前单词 / 中文句的左 / 右侧开头位置
  • Command + Option + 方向键左 / Command + Option + 方向键右 退回 / 前进到上一个操作的地方
  • Command + Shift + Delete 跳转到最后一个编辑的地方
  • Option + F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)
  • Command + B / Command + 鼠标点击 进入光标所在的方法/变量的接口或是定义处
  • Command + Option + B 跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口
  • Option + Space, Command + Y 快速打开光标所在方法、类的定义
  • Control + Shift + B 跳转到类型声明处
  • Command + U 前往当前光标所在方法的父类的方法 / 接口定义
  • Control + 方向键下 / Control + 方向键上 当前光标跳转到当前文件的前一个/后一个方法名位置
  • Command + ] / Command + [ 移动光标到当前所在代码的花括号开始/结束位置
  • Command + F12 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)
  • Control + H 显示当前类的层次结构
  • Command + Shift + H 显示方法层次结构
  • Control + Option + H 显示调用层次结构
  • F2 / Shift + F2 跳转到下一个/上一个突出错误或警告的位置
  • F4 / Command + 方向键下 编辑/查看代码源
  • Option + Home 显示到当前文件的导航条
  • F3选中文件/文件夹/代码行,添加/取消书签
  • Option + F3 选中文件/文件夹/代码行,使用助记符添加/取消书签
  • Control + 0...Control + 9 定位到对应数值的书签位置
  • Command + F3 显示所有书签

七、Refactoring(重构)

  • F5 复制文件到指定目录
  • F6 移动文件到指定目录
  • Command + Delete 在文件上为安全删除文件,弹出确认框
  • Shift + F6 重命名文件
  • Command + F6 更改签名
  • Command + Option + N 一致性
  • Command + Option + M 将选中的代码提取为方法
  • Command + Option + V 提取变量
  • Command + Option + F 提取字段
  • Command + Option + C 提取常量
  • Command + Option + P 提取参数

八、VCS/Local History(版本控制/本地历史记录)

  • Command + K 提交代码到版本控制器
  • Command + T 从版本控制器更新代码
  • Option + Shift + C 查看最近的变更记录
  • Control + C 快速弹出版本控制器操作面板

九、Live Templates(动态代码模板)

  • Command + Option + J 弹出模板选择窗口,将选定的代码使用动态模板包住
  • Command + J 插入自定义动态代码模板

十、General(通用)

  • Command + 1...Command + 9 打开相应编号的工具窗口
  • Command + S 保存所有
  • Command + Option + Y 同步、刷新
  • Control + Command + F 切换全屏模式
  • Command + Shift + F12 切换最大化编辑器
  • Option + Shift + F 添加到收藏夹
  • Option + Shift + I 检查当前文件与当前的配置文件
  • Control + ` 快速切换当前的scheme(切换主题、代码样式等)
  • Command + , 打开IDEA系统设置
  • Command + ; 打开项目结构对话框
  • Shift + Command + A 查找动作(可设置相关选项)
  • Control + Shift + Tab 编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上delete,则是关闭对应选中的窗口)

十一、Other(一些官方文档上没有体现的快捷键)

  • Command + Shift +8 竖编辑模式

官方资料: 
https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard_Mac.pdf

IntelliJ IDEA 常用快捷键讲解(Win&Linux)

为了不占篇幅,我就不细说了,基本上和mac的差不多(command换成ctrl),详情请看官方文档:

https://www.jetbrains.com/idea/docs/IntelliJIDEA_ReferenceCard.pdf


本篇文章差不多就讲这么多了。如果你喜欢vim,IDEA有很好用的vim插件供你使用,我就不细说了。

本来不打算写这篇文章的,因为极客学院的那个教程写的非常详细。但是极客学院的图片挂了。。。看不了图片。github上有原文,但是github加载图片太慢了,网不好的话,一分钟加载一张图片也是有可能的,不利于观看。所以我挑了点有用的写了一下,方便自己也方便别人。本来想多写点的。但是突然就懒了。。。

暂时先这样吧。有什么问题请留言。

放个地址,网好的自己去看更详细的教程吧: 
https://github.com/judasn/IntelliJ-IDEA-Tutorial

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

idea 的使用与快捷键 的相关文章

随机推荐

  • 「网页开发|前端开发|Vue」01 快速入门:快速写一个Vue的HelloWorld项目

    本文主要介绍如何用vue开发的标准化工具vue cli快速搭建一个符合实际业务项目结构的hello world网页项目并理解vue的代码文件结构以及页面渲染流程 文章目录 一 准备工作 安装node js 二 项目搭建 创建项目目录 全局安
  • 谁来教我渗透测试——黑客应该掌握的Windows基础

    今天我们看看作为一个黑客对于Windows应该掌握哪些基础知识 主要内容包含以下四个方面 系统目录 服务 端口和注册表 黑客常用的DOS命令及批处理文件的编写 黑客常用的快捷键 以及如何优化系统 登录密码破解 手动清除木马病毒 系统目录 服
  • 2014年总结

    总结的意义在于认清未来的方向 2014年工作 1 ETL Data Warehouse Data Mining 数据挖掘内容很多 如何与企业需求相结合是重点 2 简单的工作流系统开发 3 体会ArgGIS在物流运输企业中的应用 无论云计算以
  • 色彩空间与像素格式

    转载来自 https www cnblogs com leisure chn p 10290575 html 1 色彩空间基础 颜色是不同波长的光对人眼刺激产生的色彩感觉 色彩空间 Color Space 是颜色的数学表示 根据不同的表示方
  • PSO优化LSTM

    有两个py文件 PSO 1和LSTM 1 在资源那里下载 有数据 环境 python TF2 优化的参数有 神隐藏神经元个数 dropout比率 batch size 这个可以根据自己的意愿改 规定上限和下限 UP 64 0 14 32 D
  • java跨时区问题【相差8小时】

    情况一 后端传递给前端 前端展示到页面中的时间与系统时间相差8小时 解决方法 在该类的日期属性字段上加上注解 JsonFormat pattern yyyy MM dd HH mm ss timezone GMT 8 情况二 展示数据时间与
  • 解决Chrome, NET::ERR_CERT_AUTHORITY_INVALID

    文章目录 前言 解决方法一 解决方法二 总结 前言 解决方法一 首先清理一下缓存 三个点 gt 设置 gt 清除浏览数据 即可 如果还解决不了 因为Chrome是默认使用HSTS传输 严格的http传输方式 解决方法二 在Chrome浏览框
  • C++如何切割String对象

    C 如何切割String对象 C 相较于Java Python 并没有提供的字符串分割的函数split 因此需要自己进行编写 在实际的工作中这一功能会被经常使用 所以进行简单的记录一下 核心函数 代码实现的函数是调用String库中的fin
  • 数学:矩阵求导

    矩阵Y对标量x求导 Y y ij dY dx dy ji dx 求导后 Y变转置了 标量y对矩阵X求导 dy dX Dy Dx ij 求导后 不需要转置 重要结论 y U XV u i x ij v j 于是 dy dX u i v j U
  • ACM-子串(字符串处理)

    问题描述 有一些由英文字符组成的大小写敏感的字符串 请写一个程序 找到一个最长的字符串 x 使得 对于已经给出的字符串中的任意一个 y x 或者是 y 的子串 或者 x 中的字符反序之后得到的新字符串是 y 的子串 输入数据 输入 输入的第
  • vue使用高德地图导航路线失败,获取驾车数据失败:INVALID_USER_SCODE(解决方法)

    高德地图使用路线导航 最近做大屏项目 里面有地图定位 路线导航等方面的功能 在做路线定位是一直都是获取不到导航的路线 经过好长时间的百度看高德api文档终于找到解决方法 解决方法 添加高德地图安全密钥 添加高德安全密钥 安全密钥是和key一
  • 计算机毕业设计-基于SSM的网上书店管理系统

    项目背景 本网上系统是针对目前网上的实际需求 从实际工作出发 对过去的网上系统存在的问题进行分析 结合计算机系统的结构 概念 模型 原理 方法 在计算机各种优势的情况下 采用目前最流行的B S结构和java中流行的ssm框架和eclipse
  • jq ajax fail,javascript - jQuery.ajax fail handler not called - Stack Overflow

    Deprecation Notice The jqXHR success jqXHR error and jqXHR complete callbacks are removed as of jQuery 3 0 You can use j
  • 【Linux】-关于调试器gdb的介绍和使用

    作者 小树苗渴望变成参天大树 作者宣言 认真写好每一篇博客 作者gitee gitee 如 果 你 喜 欢 作 者 的 文 章 就 给 作 者 点 点 关 注 吧 文章目录 前言 一 Linux中的debug和release 二 gdb的使
  • Java作用域

    try catch里面的是局部变量 java变量的作用域分为四个级别 类级 对象实例级 方法级 块级 块级变量就是定义在一个块 内部的变量都是局部变量 try 中try后面的 就是一个块级作用域 所以内部定义的变量是局部变量 在Java中
  • Android自定义导览地图组件(一)

    丨版权说明 Android自定义导览地图组件 一 于当前CSDN博客和乘月网属同一原创 转载请说明出处 谢谢 鉴于Android关于自定义导览地图的相关资料以及开源项目贫乏 应Android同行几位小伙伴们的建议 决定写下这篇文章分享给大家
  • 团队管理的一些总结

    这将近三年 我在公司经历了很多事情 在学习中成长 很多时候我都在总结每个步骤和过程我取得的成绩和失败 如果说我们需要一个有效性高的团队 需要一个能够创造奇迹的团队 那么我觉得如下这些就是我经历了这么多得到的启示 1 必须明确目标 当然这个目
  • CANopen基本概念学习笔记

    参考文献 Kinco FD CD3系列伺服驱动器使用手册20210125 CANopen协议讲解课件 信捷 CANopen 通讯用户手册 基于CANopen协议的网络主控制器的设计 前置文章 CAN总线技术基本概念简述 0 CANopen简
  • 【分布式ID】理解Snowflake算法的实现原理

    1 概述 转载 冷饭新炒 理解Snowflake算法的实现原理 我上次也看了一个视频讲解 分布式ID 键高并发 分布式 全局唯一 ID 雪花算法 snowflake 2 前提 Snowflake 雪花 是Twitter开源的高性能ID生成算
  • idea 的使用与快捷键

    前面写过一篇IDEA的入门级文章 但是只学会了那些配置啊什么的并不能提高我们的开发效率 事实上 如果你IDEA用的足够熟练 就可以把鼠标扔了 附入门级教程传送门 http blog csdn net qq 31655965 article