GitVP开源文摘
全部文章/开源文摘

IntelliJ IDEA 简体中文专题教程

IntelliJ IDEA 简体中文专题教程

作者judasn 仓库judasn/IntelliJ-IDEA-Tutorial ↗ 星标★ 22,042 字数57,088 许可GPL-2.0 阅读1
GitHub 原文 ↗
摘要2021-07-24 更新:官方中文语言包正式推出!我个人不建议使用中文语言包,因为这对你查看官网帮助文档的时候会造成混乱。但是初学者确实使用中文语言包更容易上手,建议后期还原英文。

作者新方向,感谢支持

介绍(Introduce)

2021-07-24 更新:官方中文语言包正式推出!我个人不建议使用中文语言包,因为这对你查看官网帮助文档的时候会造成混乱。但是初学者确实使用中文语言包更容易上手,建议后期还原英文。

  • Gtihub Clone 比较慢的童鞋可以选择 Gitee 地址:git clone --depth=1 https://gitee.com/cdk8s_org/IntelliJ-IDEA-Tutorial.git
  • 本套教程适用于:
- [IntelliJ IDEA 14、15、2016、2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/idea/)
- [WebStorm 2016、2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/webstorm)
- [PhpStorm 2016、2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/phpstorm)
- [PyCharm 2016、2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/pycharm)
- [RubyMine 2016、2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/ruby)
- [Goland 2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/go)
- [CLion 2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/clion)
- [DataGrip 2016、2017、2018、2019、2020、2021、2022、2023 版本](https://www.jetbrains.com/datagrip)
- [Android Studio 任何版本](https://developer.android.com/studio/index.html?hl=zh-cn)
  • 教程主要面向中文用户,如果你英文良好,建议直接阅读官网帮助文档
- 官网帮助中心:<http://www.jetbrains.com/idea/webhelp/getting-help.html>
  • 特别需要友情提醒的是:
- 有的 Gif 动态图片操作过快,你需要暂停 Gif 图片进行观看的话,可以使用这个 Gif 图片查看工具:[7GIF(提取密码:0qo9)](https://pan.baidu.com/s/1mkrESsg)
  • GitBook 在线阅读地址(强力推荐):
  • 很多不同地区用户反馈:图片看不到,这是无解的,因为被 github 部分资源链接是被强的,所以推荐使用 GitBook 阅读。

目录(Contents)

  • 教程介绍(新用户必看)
- [IntelliJ IDEA 介绍](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/introduce.md)
- [本教程介绍](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/about-this-tutorial.md)
  • 安装、基础环境介绍(新用户必看)
- [Windows 下安装](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/windows-install.md)
- [Ubuntu 下安装](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/ubuntu-install.md)
- [Mac 下安装](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/mac-install.md)
- [安装环境总结](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/install-summarize.md)
- [首次运行向导](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/first-run-wizard.md)
- [安装后生成的目录说明、VM 设置](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/installation-directory-introduce.md)
  • 首次使用的基础设置介绍(新用户必看)
- [UI 界面](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/interface-introduce.md)
- [UI 主题、字体、编辑区主题、文件编码修改、乱码问题](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/theme-settings.md)
  • IntelliJ IDEA 特别地方(新用户必看)
- [IntelliJ IDEA 搜索快的原因:索引](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/IntelliJ-IDEA-cache.md)
- [IntelliJ IDEA 下 Java 文件编译方式](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/make-introduce.md)
- [IntelliJ IDEA 下项目相关特有概念说明](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/project-composition-introduce.md)
  • 必备的快捷键(新用户必看)
- [IntelliJ IDEA 常用快捷键讲解(Win + Linux)](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/keymap-introduce.md)
- [IntelliJ IDEA 常用快捷键讲解(Mac)](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/keymap-mac-introduce.md)
- [从 Windows 过度到 Mac 必备快捷键对照表](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/keymap-win-mac.md)
- [最特殊的快捷键 Alt + Enter 介绍](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/hotkey-alt-enter-introduce.md)
  • 提高编码效率功能介绍
- [Maven 设置](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/maven-project-introduce.md)
- [IntelliJ IDEA 配合 Maven 的一些要点](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/maven-skill-introduce.md)
- [版本控制讲解(SVN + Git)](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/vcs-introduce.md)
- [实时代码模板](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/live-templates-introduce.md)
- [文件代码模板](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/file-templates-introduce.md)
- [前端代码模板:Emmet](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/emmet-introduce.md)
- [特殊代码模板:Postfix Completion](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/postfix-completion-introduce.md)
- [Debug 技巧](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/debug-introduce.md)
- [重构技巧](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/refactor-introduce.md)
- [数据库管理工具](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/database-introduce.md)
- [远程调试介绍(Tomcat + Jetty)](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/remote-debugging.md)
  • 高级设置介绍
- [IntelliJ IDEA 推荐设置(新人重点)](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/settings-recommend-introduce.md)
- [IntelliJ IDEA 常用细节-1](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/settings-introduce-1.md)
- [IntelliJ IDEA 常用细节-2](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/settings-introduce-2.md)
- [IntelliJ IDEA 常用细节-3](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/settings-introduce-3.md)
- [IntelliJ IDEA 常用细节-4](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/settings-introduce-4.md)
- [Java 大型项目 VM 配置](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/vm-settings.md)
  • 插件推荐、插件开发
- [插件相关功能设置、插件推荐](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/plugins-settings.md)
- [Java 热部署插件 JRebel 安装及使用](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/jrebel-setup.md)
- [插件开发视频教程](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/plugins-develop.md)
  • 其他(新用户必看)
- [常见各类文件类型图标](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/file-symbols-introduce.md)
- [本教程总结](https://raw.githubusercontent.com/judasn/IntelliJ-IDEA-Tutorial/HEAD/this-tutorial-the-end.md)

联系(Contact)

  • Email:gitnavi@qq.com
  • 微信:upupmoment

GitHub 协同视频教程(Participate)

  • 如果您不会使用 Git 或是 GitHub 也没关系,请认真学习下面视频教程:
  • YouMeek 录制
- 视频格式:MP4
- 分辨率:1920 X 1080
- 片长:16 Min
- 文件大小:62 M
  • 下载
- 百度云盘:<http://pan.baidu.com/s/1bogmTLd>

GitHub 常用按钮说明

  • Watch:关注该项目,作者有更新的时候,会在你的 GitHub 主页有通知消息。
  • Star:收藏该项目,在你的头像上有一个 “Your stars” 链接,可以看到你的收藏列表,以方便下次进来。
  • Fork:复制一份项目到自己的 GitHub 空间上,你可以自己开发自己的这个地址项目,然后 Pull Request 给项目原主人。
  • 只 clone 最新的一个版本记录,历史旧数据不 clone 的两种方法(推荐这样做,因为图片很多,占了很大空间):
- 命令行方法:`git clone https://github.com/judasn/IntelliJ-IDEA-Tutorial.git --depth=1`

参与作者汇总(Author)

  • 真心感谢这些志同道合的人,这个真的很重要,也希望你能一起参与(鞠躬)!
  • 同时感谢那些通过私聊方式指出一些错误地方的朋友,使得该教程能得以更加完善,真心感谢(鞠躬)!
作者(按参与时间排序)地址
Meek
温泉
zhenhappy
two8g
Dectinc
Caliven
MinjieTao
classloader
challengeof
district10
duanluan
binarywang
chenhui7373
wzxjohn
Robot-L
duanluan

introduce

介绍

本系列教程介绍

本系列教程从 IntelliJ IDEA 的安装、卸载、软件设置、项目配置等各个方面进行讲解。通过本系列教程的学习,也希望你能爱上 IntelliJ IDEA,爱上它的体贴。同时学完本系列教程对于你学习 JetBrains 公司下的其他产品也有好处,其他产品包括:

* PhpStorm 主要用于开发 PHP * RubyMine 主要用于开发 Ruby * PyCharm 主要用于开发 Python * AppCode 主要用于开发 Objective-C / Swift * CLion 主要用于开发 C / C++ * WebStorm 主要用于开发 JavaScript、HTML5、CSS3 等前端技术 * DataGrip 主要用于开发 SQL * Android Studio 主要用于开发 Android(Google 基于 IntelliJ IDEA 社区版进行迭代所以也姑且算上)

IntelliJ IDEA 介绍

* IntelliJ IDEA 官网:

IntelliJ IDEA 在 2015 年 06 月官网主页是这样介绍自己的:

Excel at enterprise, mobile and web development with Java, Scala and Groovy, with all the latest modern technologies and frameworks available out of the box.

简明翻译:IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。

IntelliJ IDEA 对自己的定义是很清晰的,对于新人来讲可能还不太理解,可能还会有误会,认为它博而不精,但是对于老用户来讲应该是非常认可上面这句话的。通过下面功能表格,新人对于 IntelliJ IDEA 所具备的功能会有一个新的认识。

如果用一句话来形容 IntelliJ IDEA,我会说:IntelliJ IDEA 是目前所有 IDE 中最具备沉浸式的 JVM IDE,没有之一。

IntelliJ IDEA 主要功能介绍

* 语言支持上:
安装插件后支持SQL类基本JVM
PHPPostgreSQLJava
PythonMySQLGroovy
RubyOracle
ScalaSQL Server
Kotlin
Clojure
* 其他支持:
支持的框架额外支持的语言代码提示支持的容器
Spring MVCHTML5Tomcat
GWTCSS3TomEE
VaadinSASSWebLogic
PlayLESSJBoss
GrailsJavaScriptJetty
Web ServicesCoffeeScriptWebSphere
JSFNode.js
StrutsActionScript
Hibernate
Flex

上面特性只是 IntelliJ IDEA 的冰山一角,而且这个还不是 IntelliJ IDEA 最重要的地方,IntelliJ IDEA 最重要的特性就是人性化、智能,后面学习你会慢慢接触到。

更多官方学习信息

* IntelliJ IDEA 主要特性介绍 1: * IntelliJ IDEA 主要特性介绍 2: * 官方快速入门: * 官方在线帮助文档: * 官方 wiki:

更多官方资讯跟踪途径

* 官方博客: * IntelliJ IDEA 官方 community: * IntelliJ IDEA 官方 issue: * YouTube: * Twitter: * Facebook: * JetBrains 新浪微博: * JetBrains Google+: * IntelliJ IDEA Google+:

about this tutorial

关于

学习前提

由于 IntelliJ IDEA 官网在亚洲没有设服务器,且官网用到一些类似 Twitter、Facebook 等站的脚本会使得你在国内出现访问巨慢或是不允许访问的特殊情况,所以建议你在访问官网、访问插件库、小版本本地迭代更新等操作的时候出现奇怪问题的时候,请自备VPN等网络加速工具。

很多用户都是先学习了 Eclipse、MyEclipse 再转到 IntelliJ IDEA 的,这里需要先说明的是,在学习 IntelliJ IDEA 过程中,你暂且要放下 Eclipse 下的开发思维方式,不能按 Eclipse 的软件思想或是结构去要求 IntelliJ IDEA,这样对你学习 IntelliJ IDEA 非常不利。

适用人群

用 IntelliJ IDEA 进行开发语言的学习者。

用 IntelliJ IDEA 进行开发语言的开发工作者。

其中对于语言开发学习者我是非常建议你使用 IntelliJ IDEA,因为一些代码格式、命名规范在 IntelliJ IDEA 下都是有良好的提示,对于我们所处的输入法下的中文全角符号也可以得到快速发现。特别是学习 Python 的学习者,当你在用 Pycharm 进行学习的时候,Pycharm 会时刻告诉你什么时候要注意空格、换行,提醒你有 PEP8 编码规范,你也可以通过快捷键快速格式化出适合 Python 要求的代码,这对于学习者来讲,真的很重要,它可以让你更专注于自己的代码。

教程演示的 IntelliJ IDEA 版本

IntelliJ IDEA 13 版本和 14 版本,在设置上差异很大,14 版本 IntelliJ IDEA 对整个 IDE 的设置进行了重新编排、归类,但是细节设置上所沿用的介绍是没有多大改变的。

目前(2015 年 06 月)IntelliJ IDEA 官网最新版本信息为:Version:14.1.4 Build:141.1532.4 Released:June 19th, 2015。

IntelliJ IDEA 有旗舰版和社区版本之分,本系列教程将以 14.1.4 的旗舰版进行演示和讲解。

其中旗舰版(Ultimate Edition)为收费版本,有 30 天试用期。如果你是学生、老师、开源项目参与者都可以向官网免费试用旗舰版,具体你可以查看下面链接。社区版(Community Edition)为免费版本,功能较旗舰版少了很多。

本教程使用的 IntelliJ IDEA 主题为较受欢迎的黑色:Darcula。

* 申请免费版本: * 旗舰版和社区版差异细节:

教程演示的系统环境

* 系统:Windows 8.1 64 位 简体中文版 * JDK 版本:1.8.0_05 64 位 * 建议使用 JDK 版本为:1.6 及 1.6 以上,更加详细的系统要求会在安装教程篇中进行讲解。

IntelliJ IDEA 版本迭代习惯

2015 年 IntelliJ IDEA 主版本是 14,目前(2015 年 06 月)最新版本是 14.1.4。与此同时,2015 年 06 月 17 日,官网开始提供 15 EAP 版本(Early Access Program 早期预览版)。如果你对 IntelliJ IDEA 下个大版本的新特性很感兴趣,你可以随时关注官网博客最新动态。

按正常情况来讲,IntelliJ IDEA 大版本是一年迭代一次。大版本下的小版本迭代时间没有固定,快的是一个月不到就迭代一次,慢的话基本在两到三个月迭代一次。相对其他 IDE 来讲迭代周期还是比较紧凑,但是作为用户你不用担心因为频繁迭代更新而引起的项目配置问题或是软件配置问题,后面有课程会专门对此进行说明。

* IntelliJ IDEA 官网博客:

windows install

Windows 系统下安装 IntelliJ IDEA

更新记录

  • 2016-12:IntelliJ IDEA 2016.3 版本出来之后,Windows 的安装过程增加了一个可以勾选选用 JetBrains 自己开发的一个 JRE 环境,这个建议 64 位系统的用户可以勾选上,按正常理论效果比 Oracle 应该会好。

系统要求

* 系统支持:Microsoft Windows 8 / 7 / Vista / 2003 / XP(每个系统版本的 32 位和 64 位都可以) * JDK 版本:Oracle JDK 1.6 或以上 * 内存:最低要求 1 GB,推荐 2 GB 以上 * 硬盘:最低要求 2 GB * 显示器:最低要求 1024 X 768 分辨率 * 更多信息可以阅读:

首次安装

* IntelliJ IDEA 的安装是非常简单的,不需要做过多的选择,可以说简单到都是 Next 即可。

首次安装步骤截图

首次安装步骤截图

首次安装步骤截图

首次安装步骤截图

* 上图标记 1 表示在桌面上创建一个快捷图标,建议勾选上,方便我们在安装后定位 IntelliJ IDEA 安装目录。 * 上图标记 2 表示关联 Java 和 Groovy 文件,建议都不要勾选,正常我们会在 Windows 的文件系统上打开这类文件都是为了快速查阅文件里面的内容,如果用 IntelliJ IDEA 关联上之后,由于 IntelliJ IDEA 打开速度缓慢,这并不能方便我们查看。 * 建议在 Windows 系统上关联此类文件可以用 EmEditor、Notepad++ 这类轻便的编辑器。

首次安装步骤截图

首次安装步骤截图

首次安装步骤截图

* 整个安装过程,一般的配置电脑安装所需的时间大约是 1 ~ 5 分钟。

已有旧版本安装新版本

已有旧版本安装新版本步骤截图

已有旧版本安装新版本步骤截图

* 上图,显示我目前电脑中已经有一个 IntelliJ IDEA 版本,如果我勾选了标记 1,则表示安装之前会先卸载掉电脑上的旧版本。 * 上图标记 2,如果勾选了,则 IntelliJ IDEA 会直接安静地卸载旧版本,而旧版本的个性化设置不会被删除。 * 在小版本迭代中建议是卸载掉旧版本的,然后再进行新版本安装,因为小版本迭代一般都是 Bug 的修复,保留旧版本没有多大意义。 * 在大版本迭代中建议是保留旧版本,也就是不勾选上图标注 1,IntelliJ IDEA 是支持一台电脑装多个版本的。 * 接下来的步骤我们假设勾选了标注 1 再进行安装。

已有旧版本安装新版本步骤截图

* 上图,由于上一步勾选了卸载旧版本选项,所以出现了选择删除旧版本的配置选项。 * 第一个选项:删除旧版本的缓存和本地历史记录。 * 第二个选项:删除旧版本的个人个性化设置。 * 建议两个都不要勾选。 * 点击 uninstall,进入全自动的卸载过程,卸载完成接下来的步骤跟上文“首次安装”一致,这里不再进行说明。

卸载

* 卸载过程在第 3 点已经有涉及到了,专门对 IntelliJ IDEA 进行卸载也是一样的流程。

卸载

卸载

卸载


ubuntu install

Ubuntu 系统下安装 IntelliJ IDEA

系统要求

* 系统支持:只要是支持 GNOME 或 KDE 桌面系统,建议是 Ubuntu(32位和64位都可以) * JDK 版本:Oracle JDK 1.6 或以上 * 内存:最低要求 1 GB,推荐 2 GB 以上 * 硬盘:最低要求 2 GB * 显示器:最低要求 1024 X 768 分辨率 * 更多信息可以阅读:

重要说明

我这里以 Ubuntu 系统为例进行讲解。但是,在学习下面内容之前请先看下章节:Windows 下安装

因为它们配置流程是基本一样的,只是系统不同,开始的步骤不太一样而已,因此相同部分我这里是不会再讲的,我只讲 IntelliJ IDEA 在 Linux 安装特殊的地方。

Ubuntu 下安装过程

先把你下载到的 ideaIU-14.1.4.tar.gz 移动到你平时存放软件的目录下,然后进行解压,我电脑是放在 /opt 下。

* 终端下解压命令:tar xfz ideaIU-14.1.4.tar.gz,解压出来的目录名称是:idea-IU-141.1532.4 * 可能在解压过程中你需要 sudo 命令权限,或者是切换到 root 账号下。如果你是切换到 root 用户下就一定要注意,解压完记得再切回来你常用的账户,不然等下生成的 IntelliJ IDEA 配置文件是放在 /home/root 下,这样就跟你常用的那个用户没啥关系了。

Ubuntu 下安装过程

* 在假设你已经通过终端切换到了你常用的用户下之后,现在用终端进入解压目录下的 bin 子目录 下,然后在终端下运行启动命令:./idea.sh,运行的效果如上图箭头所示。剩下的配置步骤就跟 Windows 基本一样了,如标注 1 所示,所以这里不多讲。

Ubuntu 下安装过程

* 其中,在整个首次启动的配置过程中,唯一跟 Windows 不太一样的就是上图标注 1 这个地方。原因是 Linux 下创建启动图标是非常非常非常的麻烦,所以 IntelliJ IDEA 帮我们考虑到了,所以只要勾选下即可解决这种麻烦事。

Ubuntu 下安装过程

* 创建完启动图标之后,我们可以在如上图标注 1 所示的 Dash 这个地方找到 IntelliJ IDEA 图标。但是图标我们一般是放在启动栏上的,所以这里你可以按着箭头的方向拖动 IntelliJ IDEA 图标到启动栏上即可。

Ubuntu 下安装过程

* 启动的最后效果如上图,是不是有点过于简单了?!

卸载

Linux 的卸载是不需要执行程序的,只需要:删除对应目录。

* 删除主程序目录,也就是我们本文上面讲的解压出来的 idea-IU-141.1532.4。 * 如果不想保留你的配置文件,还可以删除配置目录,目录所在位置:./home/你用登录名/.IntelliJIdea14

mac install

Mac 系统下安装 IntelliJ IDEA

系统要求

* 系统支持:Mac OS X 10.5 以上 * JDK 版本:Apple Java 6 或 Oracle Java 7 以上 * 内存:最低要求 1 G,推荐 2 G 以上 * 硬盘:最低要求 2 G * 显示器:最低要求 1024 X 768 分辨率 * 更多信息可以阅读:

重要说明

我这里以 Mac 系统为例进行讲解。但是,在学习下面内容之前请先看下章节:Windows 下安装

因为它们配置流程是基本一样的,只是系统不同,开始的步骤不太一样而已,因此相同部分我这里是不会再讲的,我只讲 IntelliJ IDEA 在 Mac 安装特殊的地方。

Mac 下安装过程

Mac 下安装过程

* 运行下载到 ideaIU-14.1.4.dmg,效果如上图所示。 * 根据提示把左侧的 IntelliJ IDEA 图标拖动到右侧目录图

Mac 下安装过程

* 拖动完成之后即可在 应用程序 中看到 IntelliJ IDEA 的启动图标,点击运行即可。

Mac 修改运行 JDK 版本

Mac 下安装过程

  • 目前的最新 IntelliJ IDEA 版本已经默认都是使用它自己带的 JDK 环境,所以这个已经不需要再设置了。
* 如果你的 Mac 安装有多个 JDK,你想使用高版本的 JDK 运行 IntelliJ IDEA 可以按如下方式进行修改: * 在 应用程序 中找到 IntelliJ IDEA.app 然后对此进行 右键 > 显示包内容 > Contents > Info.plist,效果如上图所示。 * 找到上图红圈标注的代码,修改 JVMVersion 的属性值,如果是 JDK 7,则改为 1.7*。如果是 JDK 8,则改为 1.8*。

Mac 下启动 Tomcat 报 Permission denied

  • 这个表示你对你的 Tomcat 目录是没有足够权限的,简单粗暴的方式是你可以把你整个 Tomcat 的 bin 目录都改为 777 的权限
- 打开终端,进入 Tomcat\bin 目录,然后执行: `chmod 777 *.sh`

install summarize

安装总结

硬件建议

从上一讲的安装教程来看,IntelliJ IDEA 对硬件的要求看上去不是很高。可是实际在开发中其实并不是这样的,特别是开发 Java Web 的项目的计算机,2G 内存是基本不够用的。

我们现在来假设一种国内常见的开发环境:

有一个在开发的 Java Web 项目,它使用的框架为主流的:Struts + Spring + Hibernate,使用这三个框架的过程中,我们要引入大量的框架 jar 包,在我们的 Web 容器启动时,这些框架jar包就要占用大量的内存,而且 IntelliJ IDEA 本身功能繁多,占用的内存也不算低,再加上我们这里还没计算计算机上的其他软件应用。所以基本上 2G 内存的计算机只适合写小程序、小项目或是开发静态页面。

我个人建议,如果你是开发 Java Web 项目最好的方案是 8G 内存或是以上,硬盘能再用上固态是最好的,因为 IntelliJ IDEA 有大量的缓存、索引文件,把 IntelliJ IDEA 的缓存、索引文件放在固态上,IntelliJ IDEA 流畅度也会加快很多。

如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,我这里可以直接明白地告诉你:这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。


first run wizard

首次运行

向导功能

* 假如你计算机上在过去已经有安装过 IntelliJ IDEA 14 的版本,且你在卸载 IntelliJ IDEA 的过程中,IntelliJ IDEA 的配置文件目录都没有删除,那安装新版本之后是不会有首次运行的功能向导的。 * 假如你计算机上没有安装过 IntelliJ IDEA,或是 卸载 IntelliJ IDEA 过程中你删除了 IntelliJ IDEA 的配置文件目录,则当你双击运行桌面上的 IntelliJ IDEA 快捷图标,将进入下面介绍的向导过程。

向导步骤截图

* 上图第一个单选按钮表示 IntelliJ IDEA 识别到我计算机上有 IntelliJ IDEA 13 版本的旧配置,如果我选择了该选项,则 IntelliJ IDEA 将自动把旧版本的配置文件转移到新版本的配置文件目录上。如果你计算机上首次安装一般是没有该选项的。 * 上图第二个单选按钮表示你可以指定 IntelliJ IDEA 导入你计算机上存在其他目录的 IntelliJ IDEA 配置文件目录,如果你有的话。 * 上图第三个单选按钮表示你没有任何早期版本的 IntelliJ IDEA 配置,你不导入任何配置,让 IntelliJ IDEA 生成一份新的配置。

向导步骤截图

* 上图默认选择中的是 Buy IntelliJ IDEA,验证 IntelliJ IDEA 的许可有如图三种方式,我们这里使用的是 30 天试用版本进行演示,故单击 Evaluate for free for 30 days 进行下一步。

向导步骤截图

向导步骤截图

* 上图选择的时候 IntelliJ IDEA 主题 UI,在 Windows 系统版本中 IntelliJ IDEA 自带了 4 个主题,但是用的最多的就是上图这 2 种,其中大家基本偏爱黑色的 Darcula。这个没有好坏之分,根据你的喜好来进行选择,我们演示的版本就是用 Darcula。

向导步骤截图

* 上图显示了 IntelliJ IDEA 支持的主要的一些扩展功能或者说是工具、插件也可以。你可以根据自己开发的需求进行禁用一些扩展,这样可以稍微减轻 IntelliJ IDEA 运行时所占内存,加快运行速度,但是效果并不会很明显就是。 * 我们这里点击 Java Frameworks 的 Customize 进行下一步操作。

向导步骤截图

* 上图显示了 IntelliJ IDEA 所以支持的 Java Frameworks。我们可以根据自己的开发需求不启用指定框架的。去掉框架前面的勾选框就表示不启用该框架功能支持。 * 对于不启用的框架,我们也可以在后期进行重新勾选,这会在 IntelliJ IDEA 插件那一讲进行专门讲解。

向导步骤截图

* 选择好自己所需的扩展功能后,按 Start using IntelliJ IDEA 显示上图启动界面,金黄色进度条走完之后,欢迎进入 IntelliJ IDEA 编码世界!

installation directory introduce

IntelliJ IDEA 相关核心文件和目录介绍

安装目录介绍

安装目录介绍

* IntelliJ IDEA 的安装目录并不复杂,上图为最常改动的 bin 目录,经常会改动的文件或是必须介绍就是如图红色框中的几个。 * idea.exe 文件是 IntelliJ IDEA 32 位的可行执行文件,IntelliJ IDEA 安装完默认发送到桌面的也就是这个执行文件的快捷方式。 * idea.exe.vmoptions 文件是 IntelliJ IDEA 32 位的可执行文件的 VM 配置文件,具体配置修改会下面进行专门讲解。 * idea64.exe 文件是 IntelliJ IDEA 64 位的可行执行文件,要求必须电脑上装有 JDK 64 位版本。64 位的系统也是建议使用该文件。 * idea64.exe.vmoptions 文件是 IntelliJ IDEA 64 位的可执行文件的 VM 配置文件,具体配置修改会下面进行专门讲解。 * idea.properties 文件是 IntelliJ IDEA 的一些属性配置文件,具体配置修改会下面进行专门讲解。
  • 强烈推荐不要直接修改安装目录下的这几个配置文件,因为 IDEA 升级/重装可能会导致修改完全失效!
  • 强烈推荐使用 IDEA 自带菜单中的 Help -> Edit Custom VM Options 和 Help -> Edit Custom Properties 来进行参数个性化配置!

设置目录介绍

设置目录介绍

* 不管你使用的是哪个操作系统,IntelliJ IDEA 的设置目录命名是统一的、有规律:.IntelliJIdea14。其中 14 表示大版本号,如果你电脑上还同时装有 13 的版本,那则还应该会有一个:.IntelliJIdea13 的设置目录,其他版本道理一样。 * 在三大主流的操作系统上该文件夹都在当前用户的 Home 目录,Windows 上即 %userprofile%,Linux 和 Mac 上即 ~ * 对于这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你再生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认,我是很建议新人可以多自己摸索 IntelliJ IDEA 的配置,多几次还原,有助于加深对 IntelliJ IDEA 的了解。 * config 目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。也是我个人认为最重要的目录,没有之一,如果你还记得安装篇的介绍的时候,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置。 * system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但是也是最不可或缺目录之一。

配置文件常见修改内容说明

JVM 配置说明

* 上图是 64 位可执行文件的 JVM 配置文件内容,如果你是 32 位的系统你应该修改的是 idea.exe.vmoptions 文件里面的内容,但是由于 32 位系统内存一般都是 2G 左右的,所以也没有多大空间可以调整,所以一般无需调整的。 * 修改的原则主要是根据自己机器的内存情况来判断的,我个人是建议 8G 以下的机子或是静态页面开发者都是无需修改的。如果你是开发大型项目、Java 项目或是 Android 项目,并且内存大于 8G,建议进行修改,常修改的就是下面 4 个参数,我这里主要以我的机子为例进行建议,每个人机子情况不一,这里也只是做一个引子,最好的调整方式是你可以根据 jconsole 这类工具进行观察后个性化调整。 * 强烈推荐使用 IDEA 自带菜单中的 Help -> Edit Custom VM Options 来进行个性化配置,而不是直接修改安装目录中的该文件! > * -Xms128m,16 G 内存的机器可尝试设置为 -Xms512m > * -Xmx750m,16 G 内存的机器可尝试设置为 -Xmx1500m > * -XX:MaxPermSize=350m,16G 内存的机器可尝试设置为 -XX:MaxPermSize=500m(P.S:2017 后的版本该参数被剔除) > * -XX:ReservedCodeCacheSize=225m,16G 内存的机器可尝试设置为 -XX:ReservedCodeCacheSize=500m

JVM 配置说明

* 上图是 IntelliJ IDEA 一些属性配置,没有 32 位和 64 位之分,修改原则主要根据个人对 IntelliJ IDEA 的个性化配置情况来分析。 * 强烈推荐在阅读了安装目录中的带注释的配置文件后,使用 IDEA 自带菜单中的 Help -> Edit Custom Properties 来进行个性化配置! * 常修改的就是下面 4 个参数: > * idea.config.path=${user.home}/.IntelliJIdea/config,该属性主要用于指向 IntelliJ IDEA 的个性化配置目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠。 > * idea.system.path=${user.home}/.IntelliJIdea/system,该属性主要用于指向 IntelliJ IDEA 的系统文件目录,默认是被注释,打开注释之后才算启用该属性,这里需要特别注意的是斜杠方向,这里用的是正斜杠。如果你的项目很多,则该目录会很大,如果你的 C 盘空间不够的时候,还是建议把该目录转移到其他盘符下。 > * idea.max.intellisense.filesize=2500,该属性主要用于提高在编辑大文件时候的代码帮助。IntelliJ IDEA 在编辑大文件的时候还是很容易卡顿的。 > * idea.cycle.buffer.size=1024,该属性主要用于控制控制台输出缓存。有遇到一些项目开启很多输出,控制台很快就被刷满了没办法再自动输出后面内容,这种项目建议增大该值或是直接禁用掉,禁用语句 idea.cycle.buffer.size=disabled。

设置目录进行多台设置同步化处理

JVM 配置说明

* 上图是我的个性化配置目录,我是存放在 F 盘,同时该目录也是在 360 同步盘中。这样做主要是为了让我的多台设置可以同时使用一个个性化配置,保证个人开发习惯,额外作用就是在服务器上一个备份作用。 * 设置方式很简单,修改 idea.properties 属性文件中的 idea.config.path 值,我的机器为:idea.config.path=F:/360SycDir/idea_config/config. * 如需要继续使用现存的配置,需将原个性化配置目录(config目录),复制到修改后自定义的配置目录中。

Mac 的配置文件保存路径

  • 下面内容中:XXXXXX,表示 IntelliJ IDEA 的版本号,IntelliJ IDEA 的配置目录是跟版本号有关系的。
  • /Users/你的用户名/Library/Application Support/IntelliJIdeaXXXXXX,用于保存安装的插件
  • /Users/你的用户名/Library/Caches/IntelliJIdeaXXXXXX,用于保存缓存、日志、以及本地的版本控制信息(local history 这个功能)
  • /Users/你的用户名/Library/Preferences/IntelliJIdeaXXXXXX,用于保存你的个人配置,等价于 Windows 下的 config 目录

Linux 的配置文件保存路径

  • 跟 Windows 的目录命名习惯一样,所以你可以直接按 Windows 的配置目录名称来全盘搜索。

Mac 下修改 VM 参数

方法一(官方推荐)

大部分情况下,修改 VM 参数可以使用 IDEA 自带的选项: Help -> Edit Custom VM Options 这个选项会自动帮你在正确的位置用正确的名字新建一个 VM 参数配置文件,并在当前 IDEA 窗口自动打开。我们只需要按需编辑,保存后重启即可。 建议在编辑的时候查看一下文件的原始路径,以备改错参数导致无法启动时恢复使用。 这种方法修改不会由于升级 IDEA 导致修改被还原。

方法二

手动修改个人配置下的 idea.vmoptions 文件,完整的路径为: /Users/你的用户名/Library/Preferences/IntelliJIdeaXXXXXX/idea.vmoptions 或者可以简写为: ~/Library/Preferences/IntelliJIdeaXXXXXX/idea.vmoptions 如果该文件不存在,按照名称新建一个即可。 推荐直接使用命令行进行编辑。 Finder 中进入该文件夹的方法是:

  • 打开 Finder
  • 按快捷键 Command + Shift + G
  • 在弹出窗口中输入 ~/Library/Preferences/
  • 找到对应版本的 IntelliJIdea 文件夹
  • 新建或修改 idea.vmoptions 文件

interface introduce

IntelliJ IDEA 界面介绍

首次打开

首次打开

* 重点说明: IntelliJ IDEA 是没有类似 Eclipse 的工作空间的概念(Workspaces ),最大单元就是 Project。如果你同时观察多个项目的情况,IntelliJ IDEA 提供的解决方案是打开多个项目实例,你可以理解为开多个项目窗口。 * 命令 Create New Project 创建一个新项目。 * 命令 Import Project 导入一个已有项目。 * 命令 Open 打开一个已有项目,可以直接打开 Eclipse 项目,但是由于两者 IDE 下的项目配置不一样,所以项目还是需要配置的。 * 命令 Check out from Version Control 可以通过服务器上的项目地址 Checkout Github 上面项目或是其他 Git 托管服务器上的项目。 * 为了介绍 IntelliJ IDEA 界面,我们这里创建一个新 HTML 项目。

新建 HTML 项目

新建 HTML 项目

新建 HTML 项目

界面介绍

界面介绍

* 对于首次创建或打开的新项目,IntelliJ IDEA 都会创建项目索引,如上图标注 1 所示。大型项目在创建索引过程中可能必须会卡顿,所以 强烈建议 创建索引过程最好不要动项目。 * 每次进入项目中,IntelliJ IDEA 会根据当前项目情况进行问题反馈,或是升级更新提示等。使用方式如上图标注 2 所示。

界面介绍

* 如上图,IntelliJ IDEA 默认界面是隐藏掉 Toolbar 和 Tool Buttons,我个人习惯看到这两个,所以一般都会进行开启。

界面介绍

* 如上图标注 1 所示为开启 Toolbar 和 Tool Buttons 效果。

theme settings

IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改、乱码问题

主题修改

主题修改

* 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,可以通过打开左上角的File -> Setting。在 Windows 系统上 IntelliJ IDEA 默认提供的主题有四套:Darcula、IntelliJ、Windows、Alloy. IDEA Theme。除了 Darcula 是黑色主题,其他三套都是以白色为背景的。 * 其他操作系统上不一定会也有四套主题的,主题的选择上大家根据自己喜好即可。改变主题需要重启 IntelliJ IDEA 方可看到效果。

字体修改

主题字体修改

主题字体修改

* 如上图标注 1 所示,IntelliJ IDEA 主题字体的修改要先勾选 Override default fonts by 。默认 IntelliJ IDEA 是不推荐修改的,但是由于字体是有分包含中文和不包含中文之分的,一般使用英文的国家是不需要额外担心乱码问题的,而我们需要。 * 字体的审美上每个人不一样,但是如上一段说的,这里的字体修改是需要知道一个前提的,那就是你选择的那个字体必须含有中文,比如微软雅黑和宋体这类是包含中文的,而 Courier New 和 Monaco 这类只是单纯的英文字体。 * 如果你选择的字体不包含中文,那可能会在很多位置上出现类似 口口口口口 这样的乱码问题,比如文件名含有中文、字体是中文名字的都会变成 口口口口口。 * 在修改 IntelliJ IDEA 的主题字体的时候,不建议把字体调成很大,因为很多人遇到这样一种情况:显示器分辨率低,主题字体又大,在 IntelliJ IDEA 的某些操作的工具菜单、右键菜单选项中部分选项超出了分辨率显示范围,没办法被选中。当然了,如果你一定要把字体改大,又不用大分辨率显示器,那可以通过 IntelliJ IDEA 的 Menus and Toolbars 删除部分你认为用不到的菜单,但是一般不建议这样做。 * 还需要特别注意的时候,如果你是开着 IntelliJ IDEA 的时候,新装了一个字体的话,那必须重启IntelliJ IDEA 之后才能在下拉列表找到新装的字体。

代码编辑字体修改

代码编辑字体修改

* 如上图标注 1 所示,默认 IntelliJ IDEA 是不能直接在默认的代码模板上修改字体的,需要先 Save As 一份出来,然后才可以修改。这种设计在 IntelliJ IDEA 其他很多设置也是如此的,所以如果你还看到类似有 Copy、Save As 这类选项的按钮就要想到是此设计思想。 * 如上图标注 2 所示,勾选的 Show only monospaced fonts 表示筛选显示系统上的等宽字体。由于 Windows 系统上等宽字体并不多,勾选此选项出现的下拉字体可选择就很少。取消勾选之后,就可以显示系统上所有已安装的字体。 * 如上图标注 3 所示,其中编码字体有第一字体(Primary font) 和 第二字体(Secondary font)之分。当有些字符在第一字体支持不了的时候,会去使用第二字体进行支持。 * 我个人习惯上:英文字体使用 Monaco,由于此字体不支持中文,所以我把这个设置为第一字体,第二字体使用 Yahei Consolas Hybrid 进行支持,该字体含有中文。这两个字体都不是系统自带的,需要自行下载安装。 * 如果你的第一字体不包含中文的话,第二字体包含中文,那在有些地方也还是会出现 口口口口口 这类问题,比如 Ctrl + Shift + N 进行查找文件的时候,如果你输入中文也会变成 口口口口口 ,我个人文件名为中文的不多,所以就容忍了这种情况。如果你不愿意容忍这种情况,那还是回到最开始的要求:第一字体包含中文。

控制台输出字体修改

控制台输出字体修改

* 如上图为控制台输出内容字体修改,有很多 IntelliJ IDEA 新人在做输出的时候出现乱码原因就是因为没有在这里进行设置。 控制台输出字体 修改的原理跟 代码编辑字体修改* 是一样的,所以这里不进行讲解。

编辑区主题修改

编辑区主题介绍

编辑区主题介绍

* 编辑区主题,也就是代码书写区的主题修改。基本上大家在 General 上都有对此进行小修小改,我下面也主要介绍下我个人在 General 上常修改的一些地方,其他特性的颜色修改我一般默认,但是修改方法原理一样。 * 如上图红圈下拉所示,展示的是我当前电脑可以选择的编辑区主题。 * 对于编辑区的主题,也有人制作成模板在网络上提供下载。这里主要介绍两个站点: > * ,主要提供 jar 文件下载。 > * ,主要提供 xml 和 icl 文件下载。 > * 对应文件如何安装请查看网站对应的 Help 页面,都有详细说明的。

编辑区主题细节修改

编辑区主题细节修改

* 上图标注 1 为可修改的通用细节内容 * 上图标注 2 为可修改属性,其中并不是每个细节都可以修改所有属性的。比如细节:Default text 是可以勾选 Bold,而 Caret row 则是无法勾选 Bold,因为只有文本才有加粗的属性需求。 * 上图标注 3 为修改后的预览区,预览区是实时动态展示的。 * 在 General 区,我常修改的有: > * Default text,指的是默认代码文本,我一般会修改其 Background 属性。 > * Caret row,指的是光标所在行,我一般会修改其 Background 属性。 > * Vertical indent guide,指的是垂直缩进线,我一般会修改其 Foreground 属性。 > * Identifier under caret,指的是光标所在位置的相同标识符呈现什么效果,我一般会修改其 Background 属性。 > * Text search result,指的是在查找模式下,匹配字符的样式,我一般会修改其 Background 属性。

文件编码修改

文件编码修改

* 上图标注 1 所示,IDE 的编码默认是 UTF-8,Project Encoding 虽然默认是 GBK,但是一般我都建议修改为 UTF-8。 * 上图标注 2 所示,IntelliJ IDEA 可以对 Properties 文件进行专门的编码设置,一般也建议改为 UTF-8,其中有一个重点就是属性 Transparent native-to-ascii conversion, * 上图标注 3 所示,对于 Properties 文件,重要属性 Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。 * 上图标注 4 所示,IntelliJ IDEA 除了支持对整个 Project 设置编码之外,还支持对目录、文件进行编码设置。如果你要对目录进行编码设置的话,可能会出现需要 Convert 编码的弹出操作选择,强烈建议 在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原。

文件编码修改

* 如上图演示,对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出演示中的操作选择。 > * Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。 > * Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。 > * 含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原。

由于编码问题引起的编译错误

* 编译报错:找不到符号、未结束的字符串文字 等的解决办法: > * 由于 UTF-8 编码文件有分 有BOM 和 无BOM 之分,默认情况下 IntelliJ IDEA 使用的编译器是 javac,而此编译只能编译 无BOM 的文件,有很多 Eclipse 用户在使用 IntelliJ IDEA 开发 Eclipse 项目的时候常常会遇到此问题。主要是因为 Eclipse 的编译器是 Eclipse,此编译器支持 有BOM 的文件编译。故,解决办法是对于此文件进行 BOM 去除。 > * 批量去除 BOM,你可以 Google:批量去除 BOM、批量转换无 BOM 等关键字,网络上已有提供各种方案。 > * 除了通过去除 BOM 还有设置 IntelliJ IDEA 的编译器为 Eclipse,但是一般不建议这样做。 > * 如果上述问题都无法解决,而且你也确认 IntelliJ IDEA 各个配置编码的地方都是 UTF-8,报错文件编码也是是 UTF-8 无 BOM 的话,那还有一种可能也会出现这种情况:项目配置文件有问题。项目编码的配置文件在:/项目目录/.idea/encodings.xml。如果你会修改此文件可以进行修改,如果不会,那就删除掉 .idea 整个目录,重启 IntelliJ IDEA 重新配置这个项目即可。

Tomcat 控制台输出乱码

Tomcat 控制台输出乱码

  • 如果你的 Tomcat 控制台输出乱码,并且你已经保证了本文上面的控制台字体设置你设置的字体包含中文,那你还可以尝试下在 Tomcat 的 VM 参数上加上:-Dfile.encoding=UTF-8
  • 如果你是 Mac 系统,很有可能是需要的。

编程字体推荐

  • 下载地址:
    • Microsoft YaHei Consolas
    • Microsoft YaHei Mono

IntelliJ IDEA cache

IntelliJ IDEA 缓存和索引介绍和清理方法

缓存和索引介绍

在《IntelliJ IDEA 界面介绍》章节里已经点到了 IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比,我也简单强调了 IntelliJ IDEA 索引的重要性。这里我们再对此进行详细说明索引、缓存对 IntelliJ IDEA 的重要性。

通过《常见文件类型的图标介绍》章节,你已经认识到 IntelliJ IDEA 下各个文件类型的图标是什么样子的。其中有一个图标我是专门进行了讲解: Java class located out of the source root。我们也都知道该图标是表示 Java 类文件没有在 Source root 目录下的文件夹下会显示此图标,但是其实还有一种情况也是会显示此图标的。那就是:在 IntelliJ IDEA 创建索引过程中,所有的 Java类 都是这个图标,如果你项目大的话很容易观察到的,几个文件的小项目倒是不一定会看到。所以在 IntelliJ IDEA 创建索引过程即使你编辑了代码也是编译不了、运行不起来的,所以还是安安静静等 IntelliJ IDEA 创建索引完成。

IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度,所以 IntelliJ IDEA 的索引的重要性我再唠叨一万遍都不为过。但是,IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的,在某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,基本上百分八十的可能 IntelliJ IDEA 都会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。也有一些即使没有断电、蓝屏,也会有莫名其妙的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出问题,这种情况还不少。遇到此类问题也不用过多担心,下面就来讲解如何解决。

清除缓存和索引

清除缓存和索引

* IntelliJ IDEA 已经自带提供清除缓存、索引的路口,如上图标注 1 所示。

清除缓存和索引

* 一般建议点击 Invalidate and Restart,这样会比较干净。 * 但是有一个需要提醒的是,如上图红圈标注的地方:清除索引和缓存会使得 IntelliJ IDEA 的 Local History 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 LocalHistory 目录。目录地址在:C:\Users\当前登录的系统用户名\.IntelliJIdea14\system\LocalHistory(Mac用户的目录默认地址在:/Users/yangyun/Library/Caches/IntelliJIdea14/LocalHistory) 建议使用硬盘的全文搜索,这样效率更高。

通过上面方式清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件而已,所以如果你不用上述方法也可以删除整个 system。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 system 目录以及对应项目缓存和索引。

如果你遇到了因为索引、缓存坏了以至于项目打不开,那也建议你可以直接删除 system 目录,一般这样都可以很好地解决你的问题。

其他

其他

* 目前我电脑的 IntelliJ IDEA 是新装的,也就打开了几个小项目,所有打开的项目大小加起来不到 5M,但是他们创建的索引大家就已经上百兆了,如上图所示。所以如果你 C 盘空间不足的情况下,最好转移下 system 目录,方法可以根据《IntelliJ IDEA 相关核心文件和目录介绍》讲解的方法进行。

make introduce

IntelliJ IDEA 编译方式介绍

编译方式介绍

相比较于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也支持通过设置开启实时编译,但是不建议,因为太占资源了。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还有就是在容器运行之前配置上一个编译事件,先编译后运行。默认下 IntelliJ IDEA 也都是这样的设置,所以实际开发中你也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译,但是对于代码检查完全是没有影响。但是多个类之间的关联关系还是要等 Make 或 Rebuild 触发的时候才会做相关检查的。

在 IntelliJ IDEA 里,编译方式一共有三种:

* Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。注:2018版操作为Recompile。 * Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。 * Make:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。注:2018版操作为Build。

编译触发按钮

IntelliJ IDEA 编译触发按钮

* 如上图标注 1 所示,Make 的操作有:Make Project、Make Module * 如上图标注 2 所示,Compile 的操作有:Compile 指定类 * 如上图标注 3 所示,Rebuild 的操作有:Rebuild Project

运行之前的编译

IntelliJ IDEA 运行之前的编译

* 如上图所示,IntelliJ IDEA 默认在运行 JUnit 之前会先进行 Make 操作。

IntelliJ IDEA 运行之前的编译

* 如上图所示,IntelliJ IDEA 默认在运行 tomcat 之前会先进行 Make 操作。

编译器的设置和选择

编译器的设置和选择

* 上图标注 1 所示,也是我们本文前面讲的,IntelliJ IDEA 是支持自动编译的,默认是不开启的,也建议不用开启,原因前面已经说了。 * 上图标注 2 所示,设置编译 heap 大小,默认是 700,建议使用 64 位的用户,在内存足够的情况下,建议改为 1500 或以上。如果你在编译的时候出错,报:OutOfMemoryError,一般也是要来改这个地方。 * 上图标注 3 所示,还可以设置编译时的 VM 参数,这个你可以根据需求进行设置,一般人是用不上的。

编译器的设置和选择

* 如上图标注 1 所示,可以添加目录 或 文件进行编译排除。 * 在项目中,如果有任何一个可编译的文件无法编译通过,则 IntelliJ IDEA 是无法运行起来的,必须等你全部问题解决,编译通过之后才可运行。但是可能开发过程中,某一个包目录的文件编译无法通过,但是我们又不急着改,那我们就可以考虑把该包加入到排除编译列表中,则项目就可以运行起来。

编译器的设置和选择

* 如上图动态 Gif 所示,IntelliJ IDEA 支持常见的几种编译器:Javac、Eclipse、Ajc 等。默认是 Javac,也推荐使用 Javac。 * Project bytecode version 针对项目字节码编译版本,一般选择的是当前项目主 JDK 的版本。 * Per-module bytecode version 可以针对 Project 下各个 Module 的特殊需求单独设置不同的 bytecode version,前提是电脑上必须有安装对应的 JDK 版本。

project composition introduce

IntelliJ IDEA 项目相关的几个重要概念介绍

必备材料介绍

* IntelliJ IDEA 对其他 IDE 转过来的用户有特别优待,对其专门整理了非常棒的资料,还请其他 IDE 过来的用户抽时间查看,会有很大帮助: > * Eclipse 用户可以看: > * NetBeans 用户可以看:

Project 和 Module 介绍

这两个概念是 IntelliJ IDEA 的必懂知识点之一,请务必要学会。

如果你是 Eclipse 用户,并且已经看了上面给的链接,那 IntelliJ IDEA 首先告诉你一个非常重要的事情:IntelliJ IDEA 没有类似 Eclipse 工作空间(workspace)的概念的。很多从 Eclipse 转过来的人总是下意识地要再同一个窗口管理 n 个项目,这在 IntelliJ IDEA 是无法得到。IntelliJ IDEA 提供的体验是:一个 Project 打开一个 Window 窗口。

对于 Project,IntelliJ IDEA 是这样解释的:

* Whatever you do in IntelliJ IDEA, you do that in the context of a project. A project is an organizational unit that represents a complete software solution. It serves as a basis for coding assistance, bulk refactoring, coding style consistency, etc. * Your finished product may be decomposed into a series of discrete, isolated modules, but it's a project definition that brings them together and ties them into a greater whole. * Projects don't themselves contain development artifacts such as source code, build scripts, or documentation. They are the highest level of organization in the IDE, and they define project-wide settings as well as collections of what IntelliJ IDEA refers to as modules and libraries. > * 20170630 更新新地址:

对于 Module,IntelliJ IDEA 是这样解释的:

* A module is a discrete unit of functionality which you can compile, run, test and debug independently. * Modules contain everything that is required for their specific tasks: source code, build scripts, unit tests, deployment descriptors, and documentation. However, modules exist and are functional only in the context of a project. * Configuration information for a module is stored in a .iml module file. By default, such a file is located in the module's content root folder. * Development teams, normally, share the .iml module files through version control. > * 20170630 更新新地址:

通过上面的介绍我们知道,在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project 可以有多个 Module。目前主流的大型项目结构都是类似这种多 Module 结构,这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间应该都是处于同一个项目业务情况下的模块,彼此之间是有不可分割的业务关系的。

所以我们现在总结:一个 Project 是由一个或多个 Module 组成,模块之间尽量是处在同一个项目业务的的情况下,彼此之间互相依赖关联。这里用的是 尽量,因为 IntelliJ IDEA 的 Project 是一个没有具备任何编码设置、构建等开发功能的,主要起到一个项目定义、范围约束、规范等类型的效果,也许我们可以简单地理解为就是一个单纯的目录,只是这个目录命名上必须有其代表性的意义。

下面我们以著名的 spring-framework 项目为例介绍多 Module 的结构的:

* 项目主页:: * 该项目的 Project 命名是:spring-framework。该目录主要作用为各个 Module 的顶层目录进行约束,告诉协同者,这个目录下都是 spring-framework 相关的,我绝不会放 Android 相关源码、文档、文件在上面的。该目录并不是以一个实际性的目录来体现的,所以你访问主页是看不到的,但是当你 checkout 的时候,你必须为这个项目命名,至于命名默认就是 spring-framework。 * 该 Project 下有二十来个 Module,各个 Module 的命名也是有含义的,比如:spring-core、spring-jdbc、spring-jms、spring-orm、spring-web、spring-webmvc 等等,我们通过这些命名也能清楚地知道他们要表达的含义,这些 Module 下也都各自有 src 编码目录,可以自行编码和构建。

Project 和 Module 介绍

* 相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单 Module 的结构的。 * 如上图 Gif 图演示,在输入 Project name 的时候,Module name 和 Module file Location 自动进行改变,同时 Project location 和 Module file Location 完全一样,这也就表示,Project 目录和 Module 目录是同一个,所以此时 Project 目录下就会有 src 目录,但是我们应该明白其本质还是 Module 的目录。

关于 IntelliJ IDEA 的 Project 和 Module 终于解释清楚了,但是由于 IntelliJ IDEA 官网上又有一段话对此解释得不够好,特别是对 Eclipse 用户来讲:,其中有这样两句话:

* An Eclipse workspace is similar to a project in IntelliJ IDEA * An Eclipse project maps to a module in IntelliJ IDEA

你可以把 IntelliJ IDEA 的 Project 当做 workspace 使用,IntelliJ IDEA 也是支持的,但是就像我们前面解释的那么那么多,这样是非常不符合其初衷的,所以请别把这段话当做教义去学习。对此 zeroturnaround 的大牛也有针对此进行了说明:

SDK(Software Development Kit) 介绍

SDK 介绍

* 按 Ctrl + Shift + Alt + S 弹出项目结构设置区,如上图所示。 * 如上图标注 1 所示,IntelliJ IDEA 支持 6 种 SDK。最常用的就是 JDK 和 Android SDK,其中在创建 Android SDK 的时候如果你没有先配置一个 JDK 的话,IntelliJ IDEA 则会提示你要先配置一个 JDK,然后才能配置 Android SDK。 * 如上图标注 2 所示,下拉会展示已经创建的所有 SDK,可以很方便地不同 SDK 中切换。在开发 Java 项目过程中,由于 IntelliJ IDEA 支持管理多个 JDK,所以你完全不用担心你系统上不同项目需要不同 JDK。

SDK 介绍

* 如上图标注 1 所示,SDKs 为 SDK 的统一管理处。 * 如上图标注 2 所示,加号可以添加新 SDK,支持的类型如标注 3 所示;减号可以删除光标所选的 SDK。 * 官网介绍:

language level 介绍

其他 IDE 没有看到类似 language level 的设置,所以这个功能应该算是 IntelliJ IDEA 特有的,可是 IntelliJ IDEA 官网也没有专门介绍 language level 的地方,也许 IntelliJ IDEA 认为这个知识点属于 JDK 范畴所以没加以介绍吧。所以这里主要我对此的一些理解。我们应该知道 Java JDK 在每个新版本都会有其新特性,而新版本一般也会向下兼容旧版本的特性,IntelliJ IDEA 是对这些 JDK 的新特性是这样介绍的:

* JDK 6 的新特性:@Override in interfaces * JDK 7 的新特性:Diamonds,ARM,multi-catch etc. * JDK 8 的新特性:Lambdas,type annotation etc. * JDK 9 的新特性:Jigsaw project etc. > * etc. == et cetera == and so on == 等等

language level 介绍

language level 介绍

* 如上第一张图标注 1,使用的是 JDK 7,显示的 SDK default 为 7 - Diamonds,ARM,multi-catch etc. * 如上第二张图标注 1,使用的是 JDK 8,显示的 SDK default 为 8 - Lambdas,type annotation etc.

当我们使用 JDK 8 的时候,我们只能向下兼容 JDK 8 及其以下的特性,所以只能选择 8 及其以下的 language level。所以当我们项目使用的是 JDK 8,但是代码却没有使用 JDK 8 的新特性,最多使用了 JDK 7 的特性的时候我们可以选择 7 - Diamonds,ARM,multi-catch etc.。

对此我们总结 language level:限定项目编译检查时最低要求的 JDK 特性。

现在假设我们有一个项目代码使用的 JDK 8 新特性:lambda 语法,但是 JDK 选择的却是 JDK 7,即使 language level 选择了 8 - Lambdas,type annotation etc.,也是没有多大意义的,一样会编译报错。

Module 下的 SDK 和 language level

对于大型项目,各个 Module 用到的 SDK 和 language level 很有可能是各不一样的,IntelliJ IDEA 对此也进行了支持。

Module 下的 SDK 和 language level

* 如上图标注 1 所示,可以针对 Module 选择其他 SDK,默认选择的是 Project SDK

Module 下的 SDK 和 language level

* 如上图标注 1 所示,可以针对 Module 选择其他 language level,默认选择的是 Project language level

keymap introduce

快捷键

说明

IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各个快捷键组合请认真对待。IntelliJ IDEA 本身的设计思维是提倡键盘优先于鼠标的,所以各种快捷键组合层出不穷,对于快捷键设置也有各种支持,对于其他 IDE 的快捷键组合也有预设模板进行支持。

关于各个快捷键的频率分类上可能每个人都有各自的看法,下面的整理也只是以我个人的使用习惯来划分的,而我应该是可以代表某一部分小众人员。但是我个人还是强烈建议你可以在我的基础上整理一份属于你的快捷键目录(删除掉多余的字眼,只保留快捷键内容),本篇文章也只是起到一个工具和引子的作用。

对于下面各个快捷键的使介绍描述也许用我个人语言翻译起来不够准确或是不全面,且在不同的文件类型上按出来的效果也可能结果不太一样,所以 强烈建议 你自己把各个快捷键都亲自操作下体会下各个快捷键的实际用法。

前提

由于文化的不同,我们使用的电脑必备一个软件就是中文输入法,而目前大多数人都使用搜狗拼音输入法或是其他类似的。而这些输入法跟 IntelliJ IDEA 有一个万恶的冲突永恒不变:快捷键冲突。所以为了配合 IntelliJ IDEA,我们要去掉这些输入法下的所有快捷键。

前提

* 如上图红色圈住内容所示,默认是 逗号 我改为了 ESC 键下的 波浪号,Ctrl + 逗号 这个快捷键适合做智能提示用,下面的快捷键列表会讲。

前提

* 如上图红色圈住内容所示,这些快捷键很容易跟 IntelliJ IDEA 快捷键冲突,需要全部去掉。

前提

* 如上图红色圈住内容所示,QQ 这些快捷键也很容易跟 IntelliJ IDEA 快捷键冲突,需要全部去掉,最多保持一个截图功能即可。

可能还有其他一些软件,比如网易云音乐、有道词典等等这些软件都可能存在快捷键冲突,所以为了 IntelliJ IDEA 这些软件的快捷键都是值得舍弃的,如果你在开发的时候。

前提

* IntelliJ IDEA 官方出的学习辅助插件:IDE Features Trainer:

Ctrl

快捷键介绍
Ctrl + F在当前文件进行文本查找 (必备)
Ctrl + R在当前文件进行文本替换 (必备)
Ctrl + Z撤销 (必备)
Ctrl + Y删除光标所在行 或 删除选中的行 (必备)
Ctrl + X剪切光标所在行 或 剪切选择内容
Ctrl + C复制光标所在行 或 复制选择内容
Ctrl + D复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备)
Ctrl + W递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围 (必备)
Ctrl + E显示最近打开的文件记录列表 (必备)
Ctrl + N根据输入的 类名 查找类文件 (必备)
Ctrl + G在当前文件跳转到指定行处
Ctrl + J插入自定义动态代码模板 (必备)
Ctrl + P方法参数提示显示 (必备)
Ctrl + Q光标所在的变量 / 类名 / 方法名等上面(也可以在提示补充的时候按),显示文档内容
Ctrl + U前往当前光标所在的方法的父类的方法 / 接口定义 (必备)
Ctrl + B进入光标所在的方法/变量的接口或是定义处,等效于 Ctrl + 左键单击 (必备)
Ctrl + K版本控制提交项目,需要此项目有加入到版本控制才可用
Ctrl + T版本控制更新项目,需要此项目有加入到版本控制才可用
Ctrl + H显示当前类的层次结构
Ctrl + O选择可重写的方法
Ctrl + I选择可继承的方法
Ctrl + \+展开代码
Ctrl + \-折叠代码
Ctrl + /注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号 (必备)
Ctrl + \[移动光标到当前所在代码的花括号开始位置
Ctrl + \]移动光标到当前所在代码的花括号结束位置
Ctrl + F1在光标所在的错误代码处显示错误信息 (必备)
Ctrl + F3调转到所选中的词的下一个引用位置 (必备)
Ctrl + F4关闭当前编辑文件
Ctrl + F8在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点
Ctrl + F9执行 Make Project 操作
Ctrl + F11选中文件 / 文件夹,使用助记符设定 / 取消书签 (必备)
Ctrl + F12弹出当前文件结构层,可以在弹出的层上直接输入,进行筛选
Ctrl + Tab编辑窗口切换,如果在切换的过程又加按上delete,则是关闭对应选中的窗口
Ctrl + End跳到文件尾
Ctrl + Home跳到文件头
Ctrl + Space基础代码补全,默认在 Windows 系统上被输入法占用,需要进行修改,建议修改为 Ctrl + 逗号 (必备)
Ctrl + Delete删除光标后面的单词或是中文句 (必备)
Ctrl + BackSpace删除光标前面的单词或是中文句 (必备)
Ctrl + 1,2,3...9定位到对应数值的书签位置 (必备)
Ctrl + 左键单击在打开的文件标题上,弹出该文件路径 (必备)
Ctrl + 光标定位按 Ctrl 不要松开,会显示光标所在的类信息摘要
Ctrl + 左方向键光标跳转到当前单词 / 中文句的左侧开头位置 (必备)
Ctrl + 右方向键光标跳转到当前单词 / 中文句的右侧开头位置 (必备)
Ctrl + 前方向键等效于鼠标滚轮向前效果 (必备)
Ctrl + 后方向键等效于鼠标滚轮向后效果 (必备)

Alt

快捷键介绍
Alt + \`显示版本控制常用操作菜单弹出层 (必备)
Alt + Q弹出一个提示,显示当前类的声明 / 上下文信息
Alt + F1显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择 (必备)
Alt + F2对于前面页面,显示各类浏览器打开目标选择弹出层
Alt + F3选中文本,逐个往下查找相同文本,并高亮显示
Alt + F7查找光标所在的方法 / 变量 / 类被调用的地方
Alt + F8在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果
Alt + Home定位 / 显示到当前文件的 Navigation Bar
Alt + EnterIntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 (必备)
Alt + Insert代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等 (必备)
Alt + 左方向键切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换 (必备)
Alt + 右方向键按切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换 (必备)
Alt + 前方向键当前光标跳转到当前文件的前一个方法名位置 (必备)
Alt + 后方向键当前光标跳转到当前文件的后一个方法名位置 (必备)
Alt + 1,2,3...9显示对应数值的选项卡,其中 1 是 Project 用得最多 (必备)

Shift

快捷键介绍
Shift + F1如果有外部文档可以连接外部文档
Shift + F2跳转到上一个高亮错误 或 警告位置
Shift + F3在查找模式下,查找匹配上一个
Shift + F4对当前打开的文件,使用新Windows窗口打开,旧窗口保留
Shift + F6对文件 / 文件夹 重命名
Shift + F7在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法
Shift + F8在 Debug 模式下,跳出,表现出来的效果跟 F9 一样
Shift + F9等效于点击工具栏的 Debug 按钮
Shift + F10等效于点击工具栏的 Run 按钮
Shift + F11弹出书签显示层 (必备)
Shift + Tab取消缩进 (必备)
Shift + ESC隐藏当前 或 最后一个激活的工具窗口
Shift + End选中光标到当前行尾位置
Shift + Home选中光标到当前行头位置
Shift + Enter开始新一行。光标所在行下空出一行,光标定位到新行位置 (必备)
Shift + 左键单击在打开的文件名上按此快捷键,可以关闭当前打开文件 (必备)
Shift + 滚轮前后滚动当前文件的横向滚动轴滚动 (必备)

Ctrl + Alt

快捷键介绍
Ctrl + Alt + L格式化代码,可以对当前文件和整个包目录使用。(有些文件格式化是有特殊要求的,比如 SQL 文件必须设置方言才可被格式化) (必备)
Ctrl + Alt + O优化导入的类,可以对当前文件和整个包目录使用 (必备)
Ctrl + Alt + I光标所在行 或 选中部分进行自动代码缩进,有点类似格式化
Ctrl + Alt + T对选中的代码弹出环绕选项弹出层 (必备)
Ctrl + Alt + J弹出模板选择窗口,将选定的代码加入动态模板中
Ctrl + Alt + H调用层次
Ctrl + Alt + B在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口
Ctrl + Alt + C重构-快速提取常量
Ctrl + Alt + F重构-快速提取成员变量
Ctrl + Alt + V重构-快速提取变量
Ctrl + Alt + Y同步、刷新
Ctrl + Alt + S打开 IntelliJ IDEA 系统设置 (必备)
Ctrl + Alt + F7显示使用的地方。寻找被该类或是变量被调用的地方,用弹出框的方式找出来
Ctrl + Alt + F11切换全屏模式
Ctrl + Alt + Enter光标所在行上空出一行,光标定位到新行 (必备)
Ctrl + Alt + Home弹出跟当前文件有关联的文件弹出层
Ctrl + Alt + Space类名自动完成
Ctrl + Alt + 左方向键退回到上一个操作的地方 (必备)
Ctrl + Alt + 右方向键前进到上一个操作的地方 (必备)
Ctrl + Alt + 前方向键在查找模式下,跳到上个查找的文件
Ctrl + Alt + 后方向键在查找模式下,跳到下个查找的文件
Ctrl + Alt + 右括号(])在打开多个项目的情况下,切换下一个项目窗口
Ctrl + Alt + 左括号([)在打开多个项目的情况下,切换上一个项目窗口

Ctrl + Shift

快捷键介绍
Ctrl + Shift + F根据输入内容查找整个项目 或 指定目录内文件 (必备)
Ctrl + Shift + R根据输入内容替换对应内容,范围为整个项目 或 指定目录内文件 (必备)
Ctrl + Shift + J自动将下一行合并到当前行末尾 (必备)
Ctrl + Shift + Z取消撤销 (必备)
Ctrl + Shift + W递进式取消选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展取消选中范围 (必备)
Ctrl + Shift + N通过文件名定位 / 打开文件 / 目录,打开目录需要在输入的内容后面多加一个正斜杠 (必备)
Ctrl + Shift + U对选中的代码进行大 / 小写轮流转换 (必备)
Ctrl + Shift + T对当前类生成单元测试类,如果已经存在的单元测试类则可以进行选择 (必备)
Ctrl + Shift + C复制当前文件磁盘路径到剪贴板 (必备)
Ctrl + Shift + V弹出缓存的最近拷贝的内容管理器弹出层
Ctrl + Shift + E显示最近修改的文件列表的弹出层
Ctrl + Shift + H显示方法层次结构
Ctrl + Shift + B跳转到类型声明处 (必备)
Ctrl + Shift + I快速查看光标所在的方法 或 类的定义
Ctrl + Shift + A查找动作 / 设置
Ctrl + Shift + /代码块注释 (必备)
Ctrl + Shift + \[选中从光标所在位置到它的顶部中括号位置 (必备)
Ctrl + Shift + \]选中从光标所在位置到它的底部中括号位置 (必备)
Ctrl + Shift + \+展开所有代码 (必备)
Ctrl + Shift + \-折叠所有代码 (必备)
Ctrl + Shift + F7高亮显示所有该选中文本,按Esc高亮消失 (必备)
Ctrl + Shift + F8在 Debug 模式下,指定断点进入条件
Ctrl + Shift + F9编译选中的文件 / 包 / Module
Ctrl + Shift + F12编辑器最大化 (必备)
Ctrl + Shift + Space智能代码提示
Ctrl + Shift + Enter自动结束代码,行末自动添加分号 (必备)
Ctrl + Shift + Backspace退回到上次修改的地方 (必备)
Ctrl + Shift + 1,2,3...9快速添加指定数值的书签 (必备)
Ctrl + Shift + 左键单击把光标放在某个类变量上,按此快捷键可以直接定位到该类中 (必备)
Ctrl + Shift + 左方向键在代码文件上,光标跳转到当前单词 / 中文句的左侧开头位置,同时选中该单词 / 中文句 (必备)
Ctrl + Shift + 右方向键在代码文件上,光标跳转到当前单词 / 中文句的右侧开头位置,同时选中该单词 / 中文句 (必备)
Ctrl + Shift + 前方向键光标放在方法名上,将方法移动到上一个方法前面,调整方法排序 (必备)
Ctrl + Shift + 后方向键光标放在方法名上,将方法移动到下一个方法前面,调整方法排序 (必备)

Alt + Shift

快捷键介绍
Alt + Shift + N选择 / 添加 task (必备)
Alt + Shift + F显示添加到收藏夹弹出层 / 添加到收藏夹
Alt + Shift + C查看最近操作项目的变化情况列表
Alt + Shift + I查看项目当前文件
Alt + Shift + F7在 Debug 模式下,下一步,进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入
Alt + Shift + F9弹出 Debug 的可选择菜单
Alt + Shift + F10弹出 Run 的可选择菜单
Alt + Shift + 左键双击选择被双击的单词 / 中文句,按住不放,可以同时选择其他单词 / 中文句 (必备)
Alt + Shift + 前方向键移动光标所在行向上移动 (必备)
Alt + Shift + 后方向键移动光标所在行向下移动 (必备)

Ctrl + Shift + Alt

快捷键介绍
Ctrl + Shift + Alt + V无格式黏贴 (必备)
Ctrl + Shift + Alt + N前往指定的变量 / 方法
Ctrl + Shift + Alt + S打开当前项目设置 (必备)
Ctrl + Shift + Alt + C复制参考信息

其他

快捷键介绍
F2跳转到下一个高亮错误 或 警告位置 (必备)
F3在查找模式下,定位到下一个匹配处
F4编辑源 (必备)
F7在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
F8在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
F9在 Debug 模式下,恢复程序运行,直至下个断点或程序运行结束
F11添加书签 (必备)
F12回到前一个工具窗口 (必备)
Tab缩进 (必备)
ESC从工具窗口进入代码文件窗口 (必备)
连按两次Shift弹出 Search Everywhere 弹出层

官网快捷键资料

* Windows / Linux: * Mac OS X:

第三方快捷键资料

* 来自 eta02913:

快捷键修改

修改快捷键

* 按 Ctrl + Alt + S 弹出 IDE 设置,如上图选择左侧的 Keymap。 * IntelliJ IDEA 支持两种方式来筛选我们要找的快捷键,一种是上图标注 1 所示的,通过输入快捷键描述内容;一种是上图标注 2 所示的,通过 按 指定快捷键快捷键,这里需要再次强调的是,这个输入框是自动监听你当前按下的按键,而不是用来输入的。 * 上图标注 3 所示,初安装的 IntelliJ IDEA 使用的是 Default 的快捷键模板,IntelliJ IDEA 默认的快捷键模板都是不可修改的。如果你直接修改,当前这个位置 IntelliJ IDEA 会自动变成 Default Copy,建议你养成习惯,修改之前先点击 Copy,拷贝一套快捷键模板,然后输入自己的命名。

修改快捷键

* IntelliJ IDEA 是支持一个操作命令同时设置多个快捷键组合,就如上图的 Backspace,同时支持 Backspace 和 Shift + Backspace 两组快捷键。 * 要修改某个快捷键,选中快捷键介绍内容,右键,就会弹出如上图标注 1 所示操作选择。 * 命令 Add Keyboard Shortcut 用来添加新纯键盘快捷键组合。 * 命令 Add Mouse Shortcut 用来添加新 键盘 + 鼠标 快捷键组合,比如设置 Ctrl + 左键单击 这类快捷组合。其中在弹出的添加面板中 Click Pad 是用来监听当前鼠标是左键单击还是右键单击。 * 命令 Add Abbreviation 根据 IntelliJ IDEA 的版本文档解释,添加简称主要是为了方便 Search Everywhere 中使用,但是我尝试之后发现没办法根据我设置的简称搜索,暂时无法了解其作用。 * 命令 Remove 快捷键 移出当前操作命令已设置的快捷键组合,由于 IntelliJ IDEA 默认就占用了很多快捷键组合,所以如果你要修改某个快捷键,建议还是删除掉旧的。

修改快捷键

* IntelliJ IDEA 对其他 IDE 用户很友好,如上图对于其他主流的 IDE,快捷键上已经默认了有其过度快捷键模板了,但是我还是建议你专心使用 IntelliJ IDEA 的默认。

其他

vim插件推荐

* 如果你是一个 Vim 粉,IntelliJ IDEA 也为你准备了一个方案:如上图安装 IdeaVim 插件即可。

keymap mac introduce

IntelliJ IDEA For Mac 快捷键

  • 根据官方pdf翻译:
  • 在 IntelliJ IDEA 中有两个 Mac 版本的快捷键,一个叫做:Mac OS X,一个叫做:Mac OS X 10.5+
  • 目前都是用:Mac OS X 10.5+
  • 有两套的原因:
建议将 Mac 系统中与 IntelliJ IDEA 冲突的快捷键取消或更改,不建议改 IntelliJ IDEA 的默认快捷键。

Mac 键盘符号

图标介绍
⌘Command
⇧Shift
⇪Caps Lock
⌥Option = Alt
⌃Control
↩Enter
⌫Delete
⌦Fn + Delete
↑上箭头
↓下箭头
←左箭头
→右箭头
⇞Fn + ↑ = Page Up
⇟Fn + ↓ = Page Down
HomeFn + ←
EndFn + →
⇥Tab = 右制表符
⇤Shift + Tab = 左制表符
⎋Esc = Escape
⏏电源开关键

Editing(编辑)

  • Control + Space 基本的代码补全(补全任何类、方法、变量)
  • Control + Shift + Space 智能代码补全(过滤器方法列表和变量的预期类型)
  • Command + Shift + Enter 自动结束代码,行末自动添加分号
  • Command + P 显示方法的参数信息
  • Control + J 显示当前位置的变量、方法的 Documentation 内容
  • 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 + Option + Shift + 方向键左 多行编辑、多光标同时编辑
  • Command + / 注释/取消注释与行注释
  • Command + Option + / 注释/取消注释与块注释
  • Option + 方向键上 连续选中代码块
  • Option + 方向键下 减少当前选中的代码块
  • Control + Shift + Q 显示上下文信息
  • Option + Enter 显示意向动作和快速修复代码
  • Command + Option + L 格式化代码(有些文件格式化是有特殊要求的,比如 SQL 文件必须设置方言才可被格式化)
  • 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 查看断点信息
  • 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 显示最近打开的 文件记录 列表
  • Command + Shift + 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 显示当前类的层次结构
  • Option + Shift + 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 竖编辑模式

keymap win mac

从 Windows 过度到 Mac 必备快捷键对照表

Mac 键盘符号

图标介绍
⌘Command
⇧Shift
⇪Caps Lock
⌥Option = Alt
⌃Control
↩Enter
⌫Delete
⌦Fn + Delete
↑上箭头
↓下箭头
←左箭头
→右箭头
⇞Fn + ↑ = Page Up
⇟Fn + ↓ = Page Down
HomeFn + ←
EndFn + →
⇥Tab = 右制表符
⇤Shift + Tab = 左制表符
⎋Esc = Escape
⏏电源开关键

Alt

Win 快捷键Mac 快捷键介绍
Alt + \`Control + V显示版本控制常用操作菜单弹出层
Alt + F1Option + F1显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择
Alt + F7Option + F7查询所选对象/变量被引用
Alt + EnterOption + EnterIntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同
Alt + InsertCommand + N代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等
Alt + 左方向键Control + 左方向键切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换
Alt + 右方向键Control + 右方向键切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换
Alt + 前方向键Control + 前方向键当前光标跳转到当前文件的前一个方法名位置
Alt + 后方向键Control + 后方向键当前光标跳转到当前文件的后一个方法名位置
Alt + 1,2,3...9Command + 1,2,3...9显示对应数值的选项卡,其中 1 是 Project 用得最多

Ctrl

Win 快捷键Mac 快捷键介绍
Ctrl + FCommand + F在当前文件进行文本查找
Ctrl + RCommand + R在当前文件进行文本替换
Ctrl + ZCommand + Z撤销
Ctrl + GCommand + L跳转到指定行数位置
Ctrl + YCommand + Delete删除光标所在行 或 删除选中的行
Ctrl + DCommand + D复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面
Ctrl + WOption + 方向键上递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围
Ctrl + ECommand + E显示最近打开的文件记录列表
Ctrl + NCommand + O根据输入的 类名 查找类文件
Ctrl + JCommand + J插入自定义动态代码模板
Ctrl + PCommand + P方法参数提示显示
Ctrl + QControl + J当前位置变量、方法的 Documentation 内容显示
Ctrl + UCommand + U前往当前光标所在的方法的父类的方法 / 接口定义
Ctrl + BCommand + B进入光标所在的方法/变量的接口或是定义处,等效于 Ctrl + 左键单击
Ctrl + /Command + /注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号
Ctrl + F1Command + F1在光标所在的错误代码处显示错误信息
Ctrl + F11Option + F3选中文件 / 文件夹,使用助记符设定 / 取消书签
Ctrl + F12Command + F12弹出当前文件结构层,可以在弹出的层上直接输入,进行筛选
Ctrl + SpaceControl + Space基础代码补全,默认在 Windows 系统上被输入法占用,需要进行修改,建议修改为 Ctrl + 逗号
Ctrl + DeleteOption + Fn+ Delete删除光标后面的单词或是中文句
Ctrl + BackSpaceOption + Delete删除光标前面的单词或是中文句
Ctrl + 1,2,3...9Control + 1,2,3...9定位到对应数值的书签位置
Ctrl + 加号Command + 加号展开代码
Ctrl + 减号Command + 减号折叠代码
Ctrl + 左键单击Control + 左键单击在打开的文件标题上,弹出该文件路径
Ctrl + 左方向键Option + 左方向键光标跳转到当前单词 / 中文句的左侧开头位置
Ctrl + 右方向键Option + 右方向键光标跳转到当前单词 / 中文句的右侧开头位置
Ctrl + 前方向键预设中没有该快捷键等效于鼠标滚轮向前效果
Ctrl + 后方向键预设中没有该快捷键等效于鼠标滚轮向后效果

Shift

Win 快捷键Mac 快捷键介绍
Shift + F11Command + F3弹出书签显示层
Shift + TabShift + Tab取消缩进
Shift + EnterShift + Enter开始新一行。光标所在行下空出一行,光标定位到新行位置
Shift + 左键单击Shift + 左键单击在打开的文件名上按此快捷键,可以关闭当前打开文件

Alt + Shift

Win 快捷键Mac 快捷键介绍
Alt + Shift + NOption + Shift + N选择 / 添加 task
Alt + Shift + 左键双击Option + Shift + 左键双击选择被双击的单词 / 中文句,按住不放,可以同时选择其他单词 / 中文句
Alt + Shift + 前方向键Option + Shift + 前方向键移动光标所在行向上移动
Alt + Shift + 后方向键Option + Shift + 后方向键移动光标所在行向下移动

Ctrl + Alt

Win 快捷键Mac 快捷键介绍
Ctrl + Alt + LCommand + Option + L格式化代码,可以对当前文件和整个包目录使用(有些文件格式化是有特殊要求的,比如 SQL 文件必须设置方言才可被格式化)
Ctrl + Alt + OControl + Option + O优化导入的类,可以对当前文件和整个包目录使用
Ctrl + Alt + TCommand + Option + T对选中的代码弹出环绕选项弹出层
Ctrl + Alt + SCommand + 逗号打开 IntelliJ IDEA 系统设置
Ctrl + Alt + EnterCommand + Option + Enter光标所在行上空出一行,光标定位到新行
Ctrl + Alt + 左方向键Command + Option + 左方向键退回到上一个操作的地方
Ctrl + Alt + 右方向键Command + Option + 右方向键前进到上一个操作的地方

Ctrl + Shift

Win 快捷键Mac 快捷键介绍
Ctrl + Shift + FCommand + Shift + F根据输入内容查找整个项目 或 指定目录内文件
Ctrl + Shift + RCommand + Shift + R根据输入内容替换对应内容,范围为整个项目 或 指定目录内文件
Ctrl + Shift + JControl + Shift + J自动将下一行合并到当前行末尾
Ctrl + Shift + ZCommand + Shift + Z取消撤销
Ctrl + Shift + WOption + 方向键下递进式取消选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展取消选中范围
Ctrl + Shift + NCommand + Shift + O通过文件名定位 / 打开文件 / 目录,打开目录需要在输入的内容后面多加一个正斜杠
Ctrl + Shift + UCommand + Shift + U对选中的代码进行大 / 小写轮流转换
Ctrl + Shift + TCommand + Shift + T对当前类生成单元测试类,如果已经存在的单元测试类则可以进行选择
Ctrl + Shift + CCommand + Shift + C复制当前文件磁盘路径到剪贴板
Ctrl + Shift + BControl + Shift + B跳转到类型声明处
Ctrl + Shift + HOption + Shift + H显示层次结构
Ctrl + Shift + /Command + Option + /代码块注释
Ctrl + Shift + \[Command + Shift + \[选中从光标所在位置到它的顶部中括号位置
Ctrl + Shift + \]Command + Shift + \]选中从光标所在位置到它的底部中括号位置
Ctrl + Shift + 加号Command + Shift + 加号展开所有代码
Ctrl + Shift + 减号Command + Shift + 减号折叠所有代码
Ctrl + Shift + F7Command + Shift + F7高亮显示所有该选中文本,按Esc高亮消失
Ctrl + Shift + F12Command + Shift + F12编辑器最大化
Ctrl + Shift + EnterCommand + Shift + Enter自动结束代码,行末自动添加分号
Ctrl + Shift + BackspaceCtrl + Shift + Backspace退回到上次修改的地方
Ctrl + Shift + 1,2,3...9Control + Shift + 1,2,3...9快速添加指定数值的书签
Ctrl + Shift + 左键单击Command + Shift + 左键单击把光标放在某个类变量上,按此快捷键可以直接定位到该类中
Ctrl + Shift + 左方向键Option + Shift + 左方向键在代码文件上,光标跳转到当前单词 / 中文句的左侧开头位置,同时选中该单词 / 中文句
Ctrl + Shift + 右方向键Option + Shift + 右方向键在代码文件上,光标跳转到当前单词 / 中文句的右侧开头位置,同时选中该单词 / 中文句
Ctrl + Shift + 前方向键Command + Shift + 前方向键光标放在方法名上,将方法移动到上一个方法前面,调整方法排序
Ctrl + Shift + 后方向键Command + Shift + 后方向键光标放在方法名上,将方法移动到下一个方法前面,调整方法排序

Ctrl + Shift + Alt

Win 快捷键Mac 快捷键介绍
Ctrl + Shift + Alt + VCommand + Shift + Option + V无格式黏贴
Ctrl + Shift + Alt + SCommand + ;打开当前项目设置

Other

Win 快捷键Mac 快捷键介绍
F2F2跳转到下一个高亮错误 或 警告位置
F4F4编辑源
F11F3添加书签
F12F12回到前一个工具窗口
TabTab缩进
ESCESC从工具窗口进入代码文件窗口

本文由 GitVP 从 GitHub 收录并在站内全文呈现,版权归原作者所有(GPL-2.0)。

← 回到全部文章

同分类还有