diff --git a/IntelliJ-IDEA-cache.md b/IntelliJ-IDEA-cache.md index 4dcb4392..28e441db 100644 --- a/IntelliJ-IDEA-cache.md +++ b/IntelliJ-IDEA-cache.md @@ -4,9 +4,9 @@ 在[《IntelliJ IDEA 界面介绍》](interface-introduce.md)章节里已经点到了 IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比,我也简单强调了 IntelliJ IDEA 索引的重要性。这里我们再对此进行详细说明索引、缓存对 IntelliJ IDEA 的重要性。 -通过《常见文件类型的图标介绍》章节,你已经认识到 IntelliJ IDEA 下各个文件类型的图标是什么样子的。其中有一个图标我是专门进行了讲解:![](images/xi-a-file-symbols-3.png) `Java class located out of the source root`。我们也都知道该图标是表示 Java 类文件没有在 `Source root` 目录下的文件夹下会显示此图标,但是其实还有一种情况也是会显示此图标的。那就是:在 IntelliJ IDEA 创建索引过程中,所有的 Java类 都是这个图标,如果你项目大的话很容易观察到的,几个文件的小项目倒是不一定会看到。所以在 IntelliJ IDEA 创建索引过程即使你编辑了代码也是编译不了、运行不起来的,所以还是安安静静等 IntelliJ IDEA 创建索引完成。 +通过[《常见文件类型的图标介绍》](file-symbols-introduce.md)章节,你已经认识到 IntelliJ IDEA 下各个文件类型的图标是什么样子的。其中有一个图标我是专门进行了讲解:![](images/xi-a-file-symbols-3.png) `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 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度,所以 IntelliJ IDEA 的索引的重要性我再唠叨一万遍都不为过。但是,IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的,在某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,基本上百分八十的可能 IntelliJ IDEA 都会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。也有一些即使没有断电、蓝屏,也会有莫名其妙的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出问题,这种情况还不少。遇到此类问题也不用过多担心,下面就来讲解如何解决。 ## 清除缓存和索引 @@ -17,7 +17,7 @@ IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快 ![清除缓存和索引](images/xii-a-invalidate-cache-2.jpg) > * 一般建议点击 `Invalidate and Restart`,这样会比较干净。 -> * 但是有一个需要提醒的是,如上图红圈标注的地方:清除索引和缓存会使得 IntelliJ IDEA 的 `Local History` 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 `LocalHistory` 目录。目录地址在:`C:\Users\当前登录的系统用户名\.IntelliJIdea14\system\LocalHistory` 建议使用硬盘的全文搜索,这样效率更高。 +> * 但是有一个需要提醒的是,如上图红圈标注的地方:清除索引和缓存会使得 IntelliJ IDEA 的 `Local History` 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 `LocalHistory` 目录。目录地址在:`C:\Users\当前登录的系统用户名\.IntelliJIdea14\system\LocalHistory`(Mac用户的目录默认地址在:`/Users/yangyun/Library/Caches/IntelliJIdea14/LocalHistory`) 建议使用硬盘的全文搜索,这样效率更高。 通过上面方式清除缓存、索引本质也就是去删除 C 盘下的 `system` 目录下的对应的文件而已,所以如果你不用上述方法也可以删除整个 `system`。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 `system` 目录以及对应项目缓存和索引。 diff --git a/README.md b/README.md index 73a46b81..e0a07bba 100644 --- a/README.md +++ b/README.md @@ -1,91 +1,89 @@ -# 重要说明,看三遍 + +## 作者新方向,感谢支持 + +- [开发全平台产品(文字版)](https://github.com/cdk8s/cdk8s-team-style/blob/master/full-stack/README.md) +- [UPGPT - 简洁 AI 助手](https://upgpt.uptmr.com/) ## 介绍(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 版本](https://www.jetbrains.com/idea/) - - [WebStorm 2016、2017 版本](https://www.jetbrains.com/webstorm) - - [PhpStorm 2016、2017 版本](https://www.jetbrains.com/phpstorm) - - [PyCharm 2016、2017 版本](https://www.jetbrains.com/pycharm) - - [RubyMine 2016、2017 版本](https://www.jetbrains.com/ruby) - - [Gogland 2017 版本](https://www.jetbrains.com/go) - - [CLion 2017 版本](https://www.jetbrains.com/clion) - - [DataGrip 2016、2017 版本](https://www.jetbrains.com/datagrip) - - [Android Studio 2.X、3.X 版本](https://developer.android.com/studio/index.html?hl=zh-cn) + - [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) - 教程主要面向中文用户,如果你英文良好,建议直接阅读官网帮助文档 - 官网帮助中心: -- 教程目前在不定时进行调整和补充,需要关注更新的请 `Watch`、`Star`、`Fork`。 -- 特别需要友情提醒的是:请 `Fork` 之后,在我的基础上按你自己喜欢的方式整理一套属于你自己的快捷键列表,并导出为 PDF,以备不时查阅,对于提升开发效率是很有帮助的!文章的图片建议在需要的时候可以 `右键 - 查看图像(在新标签页打开图片)` 进行原图查看。或者建议你放大页面缩放比例(快捷键 `Ctrl + 鼠标滚轮`),可以更加清楚地看清图片细节。 -- 同时邀请您一起参与完善该教程,帮助更多的人,欢迎反馈错误和意见! -- 本系列文章唯一授权的商业网站是:[极客学院](http://www.jikexueyuan.com/),其他商业网站一律禁止转载。公益站点、个人博客、公众号等载体请在转载写明出处链接。 -- 如果你想参与完善该教程,请移步到 Github 上进行 Fork: - - 地址: -- 如果你需要一份电子版,请查看(制作电子版很费精力,不会常更新此文件): - - 百度云: - - Google Drive:[https://drive.google.com/file/d/0B5...UU/view?usp=sharing](https://drive.google.com/file/d/0B5gjjw8peC5Sa19vVEswbTRYYUU/view?usp=sharing "Google Drive") -- GitBook 在线阅读地址: -- 2017-10:[关于咕泡学院的教程:《IntelliJ IDEA使用教程》侵权说明](http://www.youmeek.com/intellij-idea-tutorial-infringement/) -- 2017-10:[IntelliJ IDEA-Windows-新手必备基础配置整理(密码:z1uo)](http://pan.baidu.com/s/1nvfzKTj) - - 使用方法:把解压后 config 目录下的所有子目录覆盖到:`C:\Users\你的电脑登录用户名\.IntelliJIdea2017.2\config` 目录下([Mac 用户](https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/installation-directory-introduce.md#mac-的配置文件保存路径)) - - 导入后,你过去的一些配置可能会丢失,所以需要重新配置下,每个人都不一样,这需要你自己进行分析。 +- 特别需要友情提醒的是: + - 有的 Gif 动态图片操作过快,你需要暂停 Gif 图片进行观看的话,可以使用这个 Gif 图片查看工具:[7GIF(提取密码:0qo9)](https://pan.baidu.com/s/1mkrESsg) +- **GitBook 在线阅读地址(强力推荐)**: +- 很多不同地区用户反馈:图片看不到,这是无解的,因为被 github 部分资源链接是被强的,所以推荐使用 GitBook 阅读。 ## 目录(Contents) -- [01. IntelliJ IDEA 介绍(新用户必看)](introduce.md) -- [02. 教程介绍(新用户必看)](about-this-tutorial.md) -- [03. 安装环境:Windows](windows-install.md) -- [04. 安装环境:Ubuntu](ubuntu-install.md) -- [05. 安装环境:Mac](mac-install.md) -- [06. 安装环境总结(新用户必看)](install-summarize.md) -- [07. 首次运行向导(新用户必看)](first-run-wizard.md) -- [08. 安装后生成的目录说明、VM 设置(新用户必看)](installation-directory-introduce.md) -- [09. UI 界面(新用户必看)](interface-introduce.md) -- [10. UI 主题、字体、编辑区主题、文件编码修改、乱码问题(新用户必看)](theme-settings.md) -- [11. 常见各类文件类型图标(新用户必看)](file-symbols-introduce.md) -- [12. IntelliJ IDEA 搜索快的原因:索引(新用户必看)](IntelliJ-IDEA-cache.md) -- [13. Java 文件编译方式(新用户必看)](make-introduce.md) -- [14. 项目相关概念(新用户必看)](project-composition-introduce.md) -- [15. Hello World 的 Java 项目创建和项目配置文件](project-settings.md) -- [16. 版本控制讲解(SVN + Git)](vcs-introduce.md) -- [17. 实时代码模板](live-templates-introduce.md) -- [18. 文件代码模板](file-templates-introduce.md) -- [19. 前端代码模板:Emmet](emmet-introduce.md) -- [20. 特殊代码模板:Postfix Completion](postfix-completion-introduce.md) -- [21. 插件相关功能](plugins-settings.md) -- [22. Eclipse 的 Java Web 项目环境搭建](eclipse-java-web-project-introduce.md) -- [23. Maven 结构项目搭建](maven-project-introduce.md) -- [24. IntelliJ IDEA 配合 Maven 的一些要点](maven-skill-introduce.md) -- [25. Maven 的单模块 / 多模块 Spring MVC + Spring + Mybatis 项目(重点)](maven-java-web-project-introduce.md) -- [26. Maven 的单模块 Spring MVC + Spring + Spring Data JPA 项目](maven-java-web-project-introduce2.md) -- [27. Maven 的单模块 Spring Boot 项目](maven-java-web-project-introduce3.md) -- [28. Debug 技巧](debug-introduce.md) -- [29. 重构技巧](refactor-introduce.md) -- [30. 数据库管理工具](database-introduce.md) -- [31. IntelliJ IDEA 常用细节设置-1](settings-introduce-1.md) -- [32. IntelliJ IDEA 常用细节设置-2](settings-introduce-2.md) -- [33. IntelliJ IDEA 常用细节设置-3](settings-introduce-3.md) -- [34. IntelliJ IDEA 常用细节设置-4](settings-introduce-4.md) -- [35. IntelliJ IDEA 常用快捷键讲解(Win + Linux)(新用户必看)](keymap-introduce.md) -- [36. IntelliJ IDEA 常用快捷键讲解(Mac)(新用户必看)](keymap-mac-introduce.md) -- [37. 从 Windows 过度到 Mac 必备快捷键对照表(新用户必看)](keymap-win-mac.md) -- [38. IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用](jrebel-setup.md) -- [39. IntelliJ IDEA 远程调试(Tomcat+Jetty)](remote-debugging.md) -- [40. 最特殊的快捷键 Alt + Enter 介绍(新用户必看)](hotkey-alt-enter-introduce.md) -- [41. IntelliJ IDEA 插件开发视频教程](plugins-develop.md) -- [42. 本教程总结](this-tutorial-the-end.md) - +- **教程介绍(新用户必看)** + - [IntelliJ IDEA 介绍](introduce.md) + - [本教程介绍](about-this-tutorial.md) +- **安装、基础环境介绍(新用户必看)** + - [Windows 下安装](windows-install.md) + - [Ubuntu 下安装](ubuntu-install.md) + - [Mac 下安装](mac-install.md) + - [安装环境总结](install-summarize.md) + - [首次运行向导](first-run-wizard.md) + - [安装后生成的目录说明、VM 设置](installation-directory-introduce.md) +- **首次使用的基础设置介绍(新用户必看)** + - [UI 界面](interface-introduce.md) + - [UI 主题、字体、编辑区主题、文件编码修改、乱码问题](theme-settings.md) +- **IntelliJ IDEA 特别地方(新用户必看)** + - [IntelliJ IDEA 搜索快的原因:索引](IntelliJ-IDEA-cache.md) + - [IntelliJ IDEA 下 Java 文件编译方式](make-introduce.md) + - [IntelliJ IDEA 下项目相关特有概念说明](project-composition-introduce.md) +- **必备的快捷键(新用户必看)** + - [IntelliJ IDEA 常用快捷键讲解(Win + Linux)](keymap-introduce.md) + - [IntelliJ IDEA 常用快捷键讲解(Mac)](keymap-mac-introduce.md) + - [从 Windows 过度到 Mac 必备快捷键对照表](keymap-win-mac.md) + - [最特殊的快捷键 Alt + Enter 介绍](hotkey-alt-enter-introduce.md) +- **提高编码效率功能介绍** + - [Maven 设置](maven-project-introduce.md) + - [IntelliJ IDEA 配合 Maven 的一些要点](maven-skill-introduce.md) + - [版本控制讲解(SVN + Git)](vcs-introduce.md) + - [实时代码模板](live-templates-introduce.md) + - [文件代码模板](file-templates-introduce.md) + - [前端代码模板:Emmet](emmet-introduce.md) + - [特殊代码模板:Postfix Completion](postfix-completion-introduce.md) + - [Debug 技巧](debug-introduce.md) + - [重构技巧](refactor-introduce.md) + - [数据库管理工具](database-introduce.md) + - [远程调试介绍(Tomcat + Jetty)](remote-debugging.md) +- **高级设置介绍** + - [IntelliJ IDEA 推荐设置(新人重点)](settings-recommend-introduce.md) + - [IntelliJ IDEA 常用细节-1](settings-introduce-1.md) + - [IntelliJ IDEA 常用细节-2](settings-introduce-2.md) + - [IntelliJ IDEA 常用细节-3](settings-introduce-3.md) + - [IntelliJ IDEA 常用细节-4](settings-introduce-4.md) + - [Java 大型项目 VM 配置](vm-settings.md) +- **插件推荐、插件开发** + - [插件相关功能设置、插件推荐](plugins-settings.md) + - [Java 热部署插件 JRebel 安装及使用](jrebel-setup.md) + - [插件开发视频教程](plugins-develop.md) +- **其他(新用户必看)** + - [常见各类文件类型图标](file-symbols-introduce.md) + - [本教程总结](this-tutorial-the-end.md) ## 联系(Contact) -- Email:`gitnavi@qq.com`(常用) or `admin@youmeek.com`(备用) -- Blog: -- IntelliJ IDEA QQ 交流群:入群请看: -- 欢迎捐赠 ^_^: +- Email:`gitnavi@qq.com` +- 微信:`upupmoment` +## GitHub 协同视频教程(Participate) -## Github 协同视频教程(Participate) - -- 如果您不会使用 Git 或是 Github 也没关系,请认真学习下面视频教程: +- 如果您不会使用 Git 或是 GitHub 也没关系,请认真学习下面视频教程: - YouMeek 录制 - 视频格式:MP4 - 分辨率:1920 X 1080 @@ -95,16 +93,14 @@ - 百度云盘: -## Github 常用按钮说明 +## GitHub 常用按钮说明 -- Watch:关注该项目,作者有更新的时候,会在你的 Github 主页有通知消息。 +- Watch:关注该项目,作者有更新的时候,会在你的 GitHub 主页有通知消息。 - Star:收藏该项目,在你的头像上有一个 “Your stars” 链接,可以看到你的收藏列表,以方便下次进来。 -- Fork:复制一份项目到自己的 Github 空间上,你可以自己开发自己的这个地址项目,然后 Pull Request 给项目原主人。 +- Fork:复制一份项目到自己的 GitHub 空间上,你可以自己开发自己的这个地址项目,然后 Pull Request 给项目原主人。 - 只 clone 最新的一个版本记录,历史旧数据不 clone 的两种方法(推荐这样做,因为图片很多,占了很大空间): - 命令行方法:`git clone https://github.com/judasn/IntelliJ-IDEA-Tutorial.git --depth=1` - - TortoiseGit GUI 方法: -![clone 一个版本](images/clone-depth-1.jpg) ## 参与作者汇总(Author) @@ -115,7 +111,7 @@ |作者(按参与时间排序)|地址| |:---------|:---------| -|YouMeek|| +|Meek|| |温泉|| |zhenhappy|| |two8g|| @@ -129,7 +125,6 @@ |binarywang|| |chenhui7373|| |wzxjohn|| +|Robot-L|| +|duanluan|| -## AD - -- [我个人开发的个性化定制网址导航:GitNavi.com](http://www.gitnavi.com) diff --git a/SUMMARY.md b/SUMMARY.md index eae14ea1..460ad6c6 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -22,21 +22,22 @@ * [22. Eclipse 的 Java Web 项目环境搭建](eclipse-java-web-project-introduce.md) * [23. Maven 结构项目搭建](maven-project-introduce.md) * [24. IntelliJ IDEA 配合 Maven 的一些要点](maven-skill-introduce.md) -* [25. Maven 的单模块 / 多模块 Spring MVC + Spring + Mybatis 项目(重点)](maven-java-web-project-introduce.md) +* [25. Maven 的单模块 / 多模块 Spring MVC + Spring + Mybatis 项目(新人重点)](maven-java-web-project-introduce.md) * [26. Maven 的单模块 Spring MVC + Spring + Spring Data JPA 项目](maven-java-web-project-introduce2.md) -* [27. Maven 的单模块 Spring Boot 项目](maven-java-web-project-introduce3.md) +* [27. Maven 的单模块 Spring Boot 项目](https://github.com/judasn/SpringBoot-Simple-Demo-From-YouMeek) * [28. Debug 技巧](debug-introduce.md) * [29. 重构技巧](refactor-introduce.md) * [30. 数据库管理工具](database-introduce.md) -* [31. IntelliJ IDEA 常用细节设置-1](settings-introduce-1.md) -* [32. IntelliJ IDEA 常用细节设置-2](settings-introduce-2.md) -* [33. IntelliJ IDEA 常用细节设置-3](settings-introduce-3.md) -* [34. IntelliJ IDEA 常用细节设置-4](settings-introduce-4.md) -* [35. IntelliJ IDEA 常用快捷键讲解(Win + Linux)(新用户必看)](keymap-introduce.md) -* [36. IntelliJ IDEA 常用快捷键讲解(Mac)(新用户必看)](keymap-mac-introduce.md) -* [37. 从 Windows 过度到 Mac 必备快捷键对照表(新用户必看)](keymap-win-mac.md) -* [38. IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用](jrebel-setup.md) -* [39. IntelliJ IDEA 远程调试(Tomcat+Jetty)](remote-debugging.md) -* [40. 最特殊的快捷键 Alt + Enter 介绍(新用户必看)](hotkey-alt-enter-introduce.md) -* [41. IntelliJ IDEA 插件开发视频教程](plugins-develop.md) - [42. 本教程总结](this-tutorial-the-end.md) +* [31. IntelliJ IDEA 推荐设置(新人重点)](settings-recommend-introduce.md) +* [32. IntelliJ IDEA 常用细节-1](settings-introduce-1.md) +* [33. IntelliJ IDEA 常用细节-2](settings-introduce-2.md) +* [34. IntelliJ IDEA 常用细节-3](settings-introduce-3.md) +* [35. IntelliJ IDEA 常用细节-4](settings-introduce-4.md) +* [36. IntelliJ IDEA 常用快捷键讲解(Win + Linux)(新用户必看)](keymap-introduce.md) +* [37. IntelliJ IDEA 常用快捷键讲解(Mac)(新用户必看)](keymap-mac-introduce.md) +* [38. 从 Windows 过度到 Mac 必备快捷键对照表(新用户必看)](keymap-win-mac.md) +* [39. IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用](jrebel-setup.md) +* [40. IntelliJ IDEA 远程调试(Tomcat+Jetty)](remote-debugging.md) +* [41. 最特殊的快捷键 Alt + Enter 介绍(新用户必看)](hotkey-alt-enter-introduce.md) +* [42. IntelliJ IDEA 插件开发视频教程](plugins-develop.md) +* [43. 本教程总结](this-tutorial-the-end.md) diff --git a/TOC.md b/TOC.md index f446d507..27fcf061 100644 --- a/TOC.md +++ b/TOC.md @@ -22,21 +22,22 @@ - [22. Eclipse 的 Java Web 项目环境搭建](eclipse-java-web-project-introduce.md) - [23. Maven 结构项目搭建](maven-project-introduce.md) - [24. IntelliJ IDEA 配合 Maven 的一些要点](maven-skill-introduce.md) -- [25. Maven 的单模块 / 多模块 Spring MVC + Spring + Mybatis 项目(重点)](maven-java-web-project-introduce.md) +- [25. Maven 的单模块 / 多模块 Spring MVC + Spring + Mybatis 项目(新人重点)](maven-java-web-project-introduce.md) - [26. Maven 的单模块 Spring MVC + Spring + Spring Data JPA 项目](maven-java-web-project-introduce2.md) -- [27. Maven 的单模块 Spring Boot 项目](maven-java-web-project-introduce3.md) +- [27. Maven 的单模块 Spring Boot 项目](https://github.com/judasn/SpringBoot-Simple-Demo-From-YouMeek) - [28. Debug 技巧](debug-introduce.md) - [29. 重构技巧](refactor-introduce.md) - [30. 数据库管理工具](database-introduce.md) -- [31. IntelliJ IDEA 常用细节设置-1](settings-introduce-1.md) -- [32. IntelliJ IDEA 常用细节设置-2](settings-introduce-2.md) -- [33. IntelliJ IDEA 常用细节设置-3](settings-introduce-3.md) -- [34. IntelliJ IDEA 常用细节设置-4](settings-introduce-4.md) -- [35. IntelliJ IDEA 常用快捷键讲解(Win + Linux)(新用户必看)](keymap-introduce.md) -- [36. IntelliJ IDEA 常用快捷键讲解(Mac)(新用户必看)](keymap-mac-introduce.md) -- [37. 从 Windows 过度到 Mac 必备快捷键对照表(新用户必看)](keymap-win-mac.md) -- [38. IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用](jrebel-setup.md) -- [39. IntelliJ IDEA 远程调试(Tomcat+Jetty)](remote-debugging.md) -- [40. 最特殊的快捷键 Alt + Enter 介绍(新用户必看)](hotkey-alt-enter-introduce.md) -- [41. IntelliJ IDEA 插件开发视频教程](plugins-develop.md) -- [42. 本教程总结](this-tutorial-the-end.md) +- [31. IntelliJ IDEA 推荐设置(新人重点)](settings-recommend-introduce.md) +- [32. IntelliJ IDEA 常用细节-1](settings-introduce-1.md) +- [33. IntelliJ IDEA 常用细节-2](settings-introduce-2.md) +- [34. IntelliJ IDEA 常用细节-3](settings-introduce-3.md) +- [35. IntelliJ IDEA 常用细节-4](settings-introduce-4.md) +- [36. IntelliJ IDEA 常用快捷键讲解(Win + Linux)(新用户必看)](keymap-introduce.md) +- [37. IntelliJ IDEA 常用快捷键讲解(Mac)(新用户必看)](keymap-mac-introduce.md) +- [38. 从 Windows 过度到 Mac 必备快捷键对照表(新用户必看)](keymap-win-mac.md) +- [39. IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用](jrebel-setup.md) +- [40. IntelliJ IDEA 远程调试(Tomcat+Jetty)](remote-debugging.md) +- [41. 最特殊的快捷键 Alt + Enter 介绍(新用户必看)](hotkey-alt-enter-introduce.md) +- [42. IntelliJ IDEA 插件开发视频教程](plugins-develop.md) +- [43. 本教程总结](this-tutorial-the-end.md) diff --git a/database-introduce.md b/database-introduce.md index 4cad0ff4..dbc9c6df 100644 --- a/database-introduce.md +++ b/database-introduce.md @@ -4,7 +4,7 @@ ![配置 Database 组件的数据库连接](images/xxv-a-database-connection-1.gif) -> * 表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis 有很好的支持,比如配置好了 Database 之后,IntelliJ IDEA 会自动识别 domain 对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。 +> * 表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis 有很好的支持,比如配置好了 Database 之后,IntelliJ IDEA 会自动识别 domain 对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。 > * 如上图 Gif 所示,这是一个完成的配置 Database 过程,对于数据库需要的依赖包,IntelliJ IDEA 可以自动帮我们下载,所以我们只要配置对应的连接参数即可。 diff --git a/debug-introduce.md b/debug-introduce.md index a6788cdd..4ba9079d 100644 --- a/debug-introduce.md +++ b/debug-introduce.md @@ -8,20 +8,22 @@ ## Debug 常用快捷键 -|快捷键|介绍| -|:---------|:---------| -|F7|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 `必备`| -|F8|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 `必备`| -|F9|在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上 `必备`| -|Alt + F8|在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 `必备`| -|Ctrl + F8|在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点| -|Shift + F7|在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法| -|Shift + F8|在 Debug 模式下,跳出,表现出来的效果跟 `F9` 一样| -|Ctrl + Shift + F8|在 Debug 模式下,指定断点进入条件| -|Alt + Shift + F7|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入| -|Drop Frame|这个不是一个快捷键,而是一个 Debug 面板上的按钮。该按钮可以用来退回到当前停住的断点的上一层方法上,可以让过掉的断点重新来过| - -有时候我们可以这样粗鲁地认为 Debug 的使用就是等同于这几个快捷键的使用,所以上面的 `必备` 快捷键是我们必须牢记的,这些也是开发很常用的。 + +|Win 快捷键|Mac 快捷键|介绍| +|:---------|:---------|:---------| +|F7|F7|进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 `必备`| +|F8|F8|进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 `必备`| +|F9|Command + Option + R|恢复程序运行,直至下个断点或程序运行结束 `必备`| +|Alt + F8|Option + F8|选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 `必备`| +|Ctrl + F8|Command + F8|设置光标当前行为断点,如果当前已经是断点则去掉断点| +|Shift + F7|Shift + F7|智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法| +|Shift + F8|Shift + F8|跳出,表现出来的效果跟 `F9` 一样| +|Ctrl + Shift + F8|Command + Shift + F8|指定断点进入条件| +|Alt + Shift + F7|Option + Shift + F7|进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入| +|Alt + Shift + F8|Option + Shift + F8|返回上一步| +|Drop Frame|Drop Frame|这个不是一个快捷键,而是一个 Debug 面板上的按钮。该按钮可以用来退回到当前停住的断点的上一层方法上,可以让过掉的断点重新来过| + +- 有时候我们可以这样粗鲁地认为 Debug 的使用就是等同于这几个快捷键的使用,所以上面的 `必备` 快捷键是我们必须牢记的,这些也是开发很常用的。 ## Debug 特殊技能使用 diff --git a/eclipse-java-web-project-introduce.md b/eclipse-java-web-project-introduce.md index 648d453c..e4f7a676 100644 --- a/eclipse-java-web-project-introduce.md +++ b/eclipse-java-web-project-introduce.md @@ -4,7 +4,7 @@ ![Eclipse 项目结构](images/xxi-a-eclipse-project-introduce-1.gif) -> * 如上图 Gif 演示,在 Eclipse 下,一般中小项目的项目结构基本都是这种模式的,所以我们这里也网络上一个开源项目 JspRun 进行讲解。 +> * 如上图 Gif 演示,在 Eclipse 下,一般中小项目的项目结构基本都是这种模式的,所以我们这里也通过网上一个开源项目 JspRun 进行讲解。 > * 下载地址: ## Eclipse 项目配置 @@ -18,7 +18,7 @@ > * 如上图标注 1 所示,IntelliJ IDEA 能自动识别到可编译的 `src` 类目录,所以这里文件夹是蓝色的。 > * 如上图标注 2 所示,Java Web 项目 `WebRoot` 是整个项目输出的根目录,所以这个区域也是非常重要的,只是无需配置。 -> * 如上图标注 3 所示,`WEB-INF` 下的一些配置文件,以及两个目录 `classes` 和 `lib` 都是至关重要的,其中 `classes` 是红色目录,也就是被排除的,因为编译的文件对开发来讲是没有多大意义的,所以进行了排除。但是这并不会影响容器去使用它。 +> * 如上图标注 3 所示,`WEB-INF` 下的一些配置文件,以及两个目录 `classes` 和 `lib` 都是至关重要的,其中 `classes` 是红色目录,也就是被排除的,因为编译产生的文件对开发来讲是没有多大意义的,所以进行了排除,但是这并不会影响容器去使用它。 ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-3.jpg) @@ -26,16 +26,16 @@ ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-4.jpg) -> * 如上图红圈所示,我们可以根据对项目的任意目录进行这五种目录类型标注,这个知识点非常非常重要,必须会。 ->> * `Sources` 一般用于标注类似 `src` 这种可编译目录。有时候我们不单单项目的 `src` 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 `Sources` 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。 +> * 如上图红圈所示,我们可以根据实际情况,对项目的任意目录进行这五种目录类型的标注,选中要标注的目录然后点击想要标注的类型按钮即可,这个知识点非常非常重要,必须会。 +>> * `Sources` 一般用于标注类似 `src` 这种可编译目录。有时候我们不单单项目的 `src` 目录要可编译,还有其他一些特别的目录也要作为可编译的目录,就需要对该目录进行此标注。只有 `Sources` 这种可编译目录才可以新建 Java 类和包,这一点需要牢记。 >> * `Tests` 一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,顶级目录是 `src`,maven 的 `src` 我们是不会设置为 `Sources` 的,而是在其子目录 `main` 目录下的 `java` 目录,我们会设置为 `Sources`。而单元测试的目录是 `src - test - java`,这里的 `java` 目录我们就会设置为 `Tests`,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比较彻底的。 >> * `Resources` 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:`src - main -resources`,这里的 `resources` 目录我们就会设置为 `Resources`,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。 >> * `Test Resources` 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:`src - test -resources`,这里的 `resources` 目录我们就会设置为 `Test Resources`,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。 >> * `Excluded` 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。 >> * 通过上面的介绍,我们知道对于非 maven 项目我们只要会设置 `src` 即可。 -> * 如上图箭头所示,被标注的目录会在右侧有一个总的概括。其中 `classes` 虽然是 `Excluded` 目录,但是它有特殊性,可以不显示在这里。 -> * 如上图标注 1 所示,如果要去掉目录的标记含义,可以点击打叉按钮进行删除。 +> * 如上图箭头所示,被标注的目录会在右侧有一个总的概括。值得一提的是 `classes` 虽然是 `Excluded` 目录,但是由于它的特殊性且不可编辑,所以不显示在这里。 +> * 如上图标注 1 所示,如果要去掉目录的标注含义,可以点击打叉按钮进行删除。 ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-5.jpg) @@ -48,17 +48,17 @@ > >> * 加号,表示可以引入新依赖包。 >> * 减号,表示可以去除对应的依赖包。 ->> * 向上箭头,表示依赖包可以向上移动位置。依赖包越上面的表示在项目加载的时候越是优先,所以对于同一个依赖包,不同版本,依赖顺序不同,结果可能也是很有会不同的。 +>> * 向上箭头,表示依赖包可以向上移动位置。依赖包越上面的表示在项目加载的时候越是优先,所以对于同一个依赖包,不同版本,依赖顺序不同,结果也可能会是大不相同的。 >> * 向下箭头,表示依赖包可以向下移动位置,原因同上。 >> * 笔,表示可以编辑依赖包的名称和路径。 ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-7.jpg) -> * 如上图所示,引入依赖包支持 `jar` 包和目录。以及已经导入项目的 `Libraries` 中的依赖包。多 Module 的项目还可以依赖其他 Module。 +> * 如上图所示,引入依赖包支持 `jar` 包和目录,以及已经导入项目的 `Libraries` 中的依赖包。多 Module 的项目还可以依赖其他 Module。 ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-8.gif) -> * 由于我们刚刚去掉了红圈中的所有依赖包,所以我们现在还需要导入依赖包。到导入之前我们先把项目的 `lib` 作为一个总的依赖包进行放置到项目 `Libraries` 中。如上图 Gif 演示,就是把 `lib` 目录转换成一个依赖包。这样的好处是,当我们项目有新添加依赖包,我们只要放置在 `lib` 目录下即可自动被项目引入,原因就是因为我们这里引的是目录,而不是一个一个依赖包。 +> * 由于我们刚刚去掉了红圈中的所有依赖包,所以我们现在还需要导入依赖包。在导入之前我们先把项目的 `lib` 作为一个总的依赖包放置到项目 `Libraries` 中。如上图 Gif 演示,就是把 `lib` 目录转换成一个依赖包。这样的好处是,当我们项目需要添加新依赖包时,我们只要放置在 `lib` 目录下即可自动被项目引入,原因就是我们这里引的是目录,而不是一个一个依赖包。 ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-9.jpg) @@ -67,7 +67,7 @@ ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-10.gif) > * 对于传统的 Java Web 项目,我们一般还需要指定配置 web.xml 位置。如上图 Gif 演示,这个一般在 `Facts` 中进行配置。`Facts` 可以理解为用于配置项目的框架区,在这里管理项目使用的框架配置文件。这个是 IntelliJ IDEA 特有的一个配置点。 -> * 除了 web.xml 一般我们要配置外,其他一些框架,即使我们不在这里配置也是不会影响项目的运行的,但是是有缺点的。比如我们项目中一般都是有 Spring 框架的,而 Spring 是有很多配置文件的,如果我们在这里进行了配置,那你会发现 IntelliJ IDEA 编辑区底部会多出现几个跟 Spring 项目的设置区,原因就是你告诉了 IntelliJ IDEA,你的项目使用了 Spring 框架,那 IntelliJ IDEA 就会出现其对应的配置功能给你。Hibernate 等其他框架道理一样。 +> * 除了 web.xml 一般我们要配置外,其他一些框架,即使我们不在这里配置也是不会影响项目的运行的,但是是有缺点的,比如我们项目中一般都是有 Spring 框架的,而 Spring 是有很多配置文件的,如果我们在这里进行了配置,那你会发现 IntelliJ IDEA 编辑区底部会多出现几个 Spring 项目的设置区,原因就是你告诉了 IntelliJ IDEA,你的项目使用了 Spring 框架,那 IntelliJ IDEA 就会出现其对应的配置功能给你。Hibernate 等其他框架道理一样。 ![Eclipse 项目配置](images/xxi-b-eclipse-project-settings-11.gif) @@ -90,7 +90,7 @@ > * 如上图标注 2 所示,我们可以指定给运行的容器设置 VM 参数。 > * 如上图标注 3 所示,这分别是在两种命令下的触发的事件。这个是 IntelliJ IDEA 特有的,也是重点。 > ->> * `On Update action` 当我们按 `Ctrl + F10` 进行容器更新的时候,可以根据我们配置的这个事件内容进行容器更新。其中我选择的 `Update classes and resources` 事件是最常用的,表示我们在按 `Ctrl + F10` 进行容器更新的时候,我们触发更新编译的类和资源文件到容器中。在 Debug 模式下,这个也就是所谓的 `HotSwap`。这是这种热部署没有 JRebel 插件那样好用。 +>> * `On Update action` 当我们按 `Ctrl + F10` 进行容器更新的时候,可以根据我们配置的这个事件内容进行容器更新。其中我选择的 `Update classes and resources` 事件是最常用的,表示我们在按 `Ctrl + F10` 进行容器更新的时候,我们触发更新编译的类和资源文件到容器中。在 Debug 模式下,这个也就是所谓的 `HotSwap`。只是这种热部署没有 JRebel 插件那样好用。 >> * `On frame deactivation` 当我们切换 IntelliJ IDEA 到浏览器的时候进行指定事件更新,这个一般是因为 Web 开发的时候,我们需要经常在 IntelliJ IDEA 和各个浏览器之间来回切换测试,所以才有了这种需求。IntelliJ IDEA 是为了帮我们在做这种无聊切换的时候做一些指定事情。当然了,如果切换过于频繁,这个功能还是很耗资源的,所以我设置的是 `Do nothing` 表示切换的时候什么都不做。 > * 如上图标注 4 所示,默认 Tomcat 的 HTTP 端口是 8080,如果你需要改其端口可以在这里设置。 > * 如上图标注 5 所示,这个知识点在前面的文章已经有讲过了。这里表示在 Tomcat 容器运行前做什么事情,这里分别了:Make 和 Build Artifacts 操作。如上面 Gif 演示,这里的 `Build Artifacts` 是我们在 `Deployment` 选项卡中添加了 Artifact 之后自动出现的。 diff --git a/first-run-wizard.md b/first-run-wizard.md index 91c03e98..7e71e881 100644 --- a/first-run-wizard.md +++ b/first-run-wizard.md @@ -13,7 +13,7 @@ ![向导步骤截图](images/vii-a-first-run-wizard-2.jpg) -> * 上图默认选择中的是 `Buy IntelliJ IDEA`,验证 IntelliJ IDEA 的许可有如图三种方式,我们这里使用的是 30 天试用版本进行演示,顾单击 `Evaluate for free for 30 days` 进行下一步。 +> * 上图默认选择中的是 `Buy IntelliJ IDEA`,验证 IntelliJ IDEA 的许可有如图三种方式,我们这里使用的是 30 天试用版本进行演示,故单击 `Evaluate for free for 30 days` 进行下一步。 ![向导步骤截图](images/vii-a-first-run-wizard-3.jpg) @@ -33,5 +33,5 @@ ![向导步骤截图](images/vii-a-first-run-wizard-7.jpg) -> * 选择好自己所需的扩展功能后,按 `Start using IntelliJ IDEA` 显示上图启动界面,金黄色进度条走完之后,欢迎真正进入 IntelliJ IDEA 的编码世界! +> * 选择好自己所需的扩展功能后,按 `Start using IntelliJ IDEA` 显示上图启动界面,金黄色进度条走完之后,欢迎进入 IntelliJ IDEA 编码世界! diff --git a/images/xxvi-a-settings-introduce-46.jpg b/images/xxvi-a-settings-introduce-46.jpg new file mode 100644 index 00000000..b715c501 Binary files /dev/null and b/images/xxvi-a-settings-introduce-46.jpg differ diff --git a/images/xxvi-a-settings-introduce-47.png b/images/xxvi-a-settings-introduce-47.png new file mode 100644 index 00000000..0129efed Binary files /dev/null and b/images/xxvi-a-settings-introduce-47.png differ diff --git a/images/xxvi-a-settings-introduce-48.png b/images/xxvi-a-settings-introduce-48.png new file mode 100644 index 00000000..7fb9c255 Binary files /dev/null and b/images/xxvi-a-settings-introduce-48.png differ diff --git a/images/xxvi-a-settings-introduce-49.png b/images/xxvi-a-settings-introduce-49.png new file mode 100644 index 00000000..b1d18e90 Binary files /dev/null and b/images/xxvi-a-settings-introduce-49.png differ diff --git a/images/xxvi-a-settings-introduce-50.png b/images/xxvi-a-settings-introduce-50.png new file mode 100644 index 00000000..1695787f Binary files /dev/null and b/images/xxvi-a-settings-introduce-50.png differ diff --git a/images/xxvi-a-settings-introduce-51.png b/images/xxvi-a-settings-introduce-51.png new file mode 100644 index 00000000..2acc566e Binary files /dev/null and b/images/xxvi-a-settings-introduce-51.png differ diff --git a/images/xxviii-jrebel-setup-16.jpg b/images/xxviii-jrebel-setup-16.jpg new file mode 100644 index 00000000..da269e36 Binary files /dev/null and b/images/xxviii-jrebel-setup-16.jpg differ diff --git a/images/xxviii-jrebel-setup-17.jpg b/images/xxviii-jrebel-setup-17.jpg new file mode 100644 index 00000000..3267ae59 Binary files /dev/null and b/images/xxviii-jrebel-setup-17.jpg differ diff --git a/images/xxviii-jrebel-setup-18.jpg b/images/xxviii-jrebel-setup-18.jpg new file mode 100644 index 00000000..01f7069e Binary files /dev/null and b/images/xxviii-jrebel-setup-18.jpg differ diff --git a/install-summarize.md b/install-summarize.md index 9e68d889..d040979f 100644 --- a/install-summarize.md +++ b/install-summarize.md @@ -6,7 +6,7 @@ 我们现在来假设一种国内常见的开发环境: ->有一个在开发的 Java Web 项目,它使用的框架为主流的:Struts + Spring + Hibernate,使用这三个框架的过程中,我们要引入大量的框架 jar 包,在我们的 Web 容器启动时,这些框架架包就要占用大量的内存,而且 IntelliJ IDEA 本身功能繁多,占用的内存也不算低,再加上我们这里还没计算计算机上的其他软件应用。所以基本上 2G 内存的计算机只适合写小程序、小项目或是开发静态页面。 +>有一个在开发的 Java Web 项目,它使用的框架为主流的:Struts + Spring + Hibernate,使用这三个框架的过程中,我们要引入大量的框架 jar 包,在我们的 Web 容器启动时,这些框架jar包就要占用大量的内存,而且 IntelliJ IDEA 本身功能繁多,占用的内存也不算低,再加上我们这里还没计算计算机上的其他软件应用。所以基本上 2G 内存的计算机只适合写小程序、小项目或是开发静态页面。 我个人建议,如果你是开发 Java Web 项目最好的方案是 8G 内存或是以上,硬盘能再用上固态是最好的,因为 IntelliJ IDEA 有大量的缓存、索引文件,把 IntelliJ IDEA 的缓存、索引文件放在固态上,IntelliJ IDEA 流畅度也会加快很多。 diff --git a/installation-directory-introduce.md b/installation-directory-introduce.md index db944133..4e272418 100644 --- a/installation-directory-introduce.md +++ b/installation-directory-introduce.md @@ -11,8 +11,8 @@ > * `idea64.exe.vmoptions` 文件是 IntelliJ IDEA 64 位的可执行文件的 VM 配置文件,具体配置修改会下面进行专门讲解。 > * `idea.properties` 文件是 IntelliJ IDEA 的一些属性配置文件,具体配置修改会下面进行专门讲解。 -强烈推荐**不要**直接修改安装目录下的这几个配置文件,因为 IDEA 升级/重装可能会导致修改完全失效! -强烈推荐使用 IDEA 自带菜单中的 `Help -> Edit Custom VM Options` 和 `Help -> Edit Custom Properties` 来进行个性化配置! +- **强烈推荐不要直接修改安装目录下的这几个配置文件,因为 IDEA 升级/重装可能会导致修改完全失效!** +- **强烈推荐使用 IDEA 自带菜单中的 `Help -> Edit Custom VM Options` 和 `Help -> Edit Custom Properties` 来进行参数个性化配置!** ## 设置目录介绍 @@ -29,12 +29,12 @@ ![JVM 配置说明](images/viii-a-configuration-files-1.jpg) > * 上图是 64 位可执行文件的 JVM 配置文件内容,如果你是 32 位的系统你应该修改的是 `idea.exe.vmoptions` 文件里面的内容,但是由于 32 位系统内存一般都是 2G 左右的,所以也没有多大空间可以调整,所以一般无需调整的。 -> * 修改的原则主要是根据自己机器的内存情况来判断的,我个人是建议 8G 以下的机子或是静态页面开发者都是无需修改的。如果你是开发大型项目、Java 项目或是 Android 项目,并且内存大于 8G,建议进行修改,常修改的就是下面 4 个参数,我这里主要以我的机子会例进行建议,每个人机子情况不一,这里也只是做一个引子,最好的调整方式是你可以根据 jconsole 这类工具进行观察后个性化调整。 +> * 修改的原则主要是根据自己机器的内存情况来判断的,我个人是建议 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` +>> * `-XX:MaxPermSize=350m`,16G 内存的机器可尝试设置为 `-XX:MaxPermSize=500m`(P.S:2017 后的版本该参数被剔除) >> * `-XX:ReservedCodeCacheSize=225m`,16G 内存的机器可尝试设置为 `-XX:ReservedCodeCacheSize=500m` ![JVM 配置说明](images/viii-a-configuration-files-2.jpg) @@ -53,7 +53,8 @@ ![JVM 配置说明](images/viii-a-setting-synchronize-1.jpg) > * 上图是我的个性化配置目录,我是存放在 F 盘,同时该目录也是在 360 同步盘中。这样做主要是为了让我的多台设置可以同时使用一个个性化配置,保证个人开发习惯,额外作用就是在服务器上一个备份作用。 -> * 设置方式很简单,修改 `idea.properties` 属性文件中的 `idea.config.path` 值,我的机器为:`idea.config.path=F:/360SycDir/idea_config/config` +> * 设置方式很简单,修改 `idea.properties` 属性文件中的 `idea.config.path` 值,我的机器为:`idea.config.path=F:/360SycDir/idea_config/config`. +> * 如需要继续使用现存的配置,需将原个性化配置目录(config目录),复制到修改后自定义的配置目录中。 # Mac 的配置文件保存路径 diff --git a/introduce.md b/introduce.md index 3edad218..dfe8e1b5 100644 --- a/introduce.md +++ b/introduce.md @@ -10,7 +10,7 @@ > * [AppCode](http://www.jetbrains.com/objc/ "AppCode 主要用于开发 Objective-C") 主要用于开发 Objective-C / Swift > * [CLion](http://www.jetbrains.com/clion/ "CLion 主要用于开发 C/C++") 主要用于开发 C / C++ > * [WebStorm](http://www.jetbrains.com/webstorm/ "WebStorm 主要用于开发 JavaScript 等前端技术") 主要用于开发 JavaScript、HTML5、CSS3 等前端技术 -> * [0xDBE](http://www.jetbrains.com/dbe/ "0xDBE 主要用于开发 SQL") 主要用于开发 SQL +> * [DataGrip](http://www.jetbrains.com/dbe/ "DataGrip 主要用于开发 SQL") 主要用于开发 SQL > * [Android Studio](http://developer.android.com/tools/studio/ "Android Studio 主要用于开发 Android") 主要用于开发 Android(Google 基于 IntelliJ IDEA 社区版进行迭代所以也姑且算上) ## IntelliJ IDEA 介绍 @@ -25,7 +25,7 @@ IntelliJ IDEA 在 2015 年 06 月官网主页是这样介绍自己的: IntelliJ IDEA 对自己的定义是很清晰的,对于新人来讲可能还不太理解,可能还会有误会,认为它博而不精,但是对于老用户来讲应该是非常认可上面这句话的。通过下面功能表格,新人对于 IntelliJ IDEA 所具备的功能会有一个新的认识。 -如果用一句话来形容 IntelliJ IDEA,我会说:**IntelliJ IDEA 是目前所有 IDE 中最具备沉浸式的 IDE,没有之一**。 +如果用一句话来形容 IntelliJ IDEA,我会说:**IntelliJ IDEA 是目前所有 IDE 中最具备沉浸式的 JVM IDE,没有之一**。 ## IntelliJ IDEA 主要功能介绍 diff --git a/jrebel-setup.md b/jrebel-setup.md index d7aa7039..f25110ef 100644 --- a/jrebel-setup.md +++ b/jrebel-setup.md @@ -75,7 +75,7 @@ Mac OS 用这个: ![enter description here][12] -安装好后在设置里面会多出一项JRebel的配置 +安装好后在设置里面会多出一项 JRebel 的配置 查看一下插件是否有效 @@ -87,6 +87,8 @@ Mac OS 用这个: ![enter description here][14] +#### 自定义容器启动 + 配置 Tomcat 的方法和直接上面说的直接调用配置方法一样, 同样需要注意的是 `On 'Update' action` 和 `On frame deactivation` 这两项目一定要选择 `Update classes and resources`, 唯一不同的是 VM options 这项不需要填, 放空就好 接下来直接启动项目, 一般选择后面那个 Debug 按钮 @@ -94,6 +96,20 @@ Mac OS 用这个: 看到 Log 有 JRebel 输出的版本信息, 没有报错就是表示成功执行了, 随便改一个类试试吧 +#### Maven 或 Gradle 启动 + +打开 JRebel Panel 窗口,然后勾选项目或模块即可,这时插件会在 src/main/resources 目录下生成 rebel.xml 文件,这里面指定了插件检测热部署文件夹的路径 + +![enter description here][16] + +![enter description here][17] + +然后在 Maven projects 或 Gradle projects 窗口,右键 Task 使用 JRebel 启动 + +![enter description here][18] + +启动之后更新资源重新编译(Ctrl + Shift + F9)即可 + JRebel 官网有免费激活服务,到官网注册领取,请支持正版: - 官网注册,注册完就会显示一串密钥了: @@ -113,3 +129,6 @@ JRebel 官网有免费激活服务,到官网注册领取,请支持正版: [13]: ./images/xxviii-jrebel-setup-15.jpg "xxviii-jrebel-setup-15.jpg" [14]: ./images/xxviii-jrebel-setup-13.jpg "xxviii-jrebel-setup-13.jpg" [15]: ./images/xxviii-jrebel-setup-14.jpg "xxviii-jrebel-setup-14.jpg" + [16]: ./images/xxviii-jrebel-setup-16.jpg "xxviii-jrebel-setup-16.jpg" + [17]: ./images/xxviii-jrebel-setup-17.jpg "xxviii-jrebel-setup-17.jpg" + [18]: ./images/xxviii-jrebel-setup-18.jpg "xxviii-jrebel-setup-18.jpg" diff --git a/keymap-introduce.md b/keymap-introduce.md index ef058799..b9b33f60 100644 --- a/keymap-introduce.md +++ b/keymap-introduce.md @@ -129,14 +129,16 @@ IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各 |快捷键|介绍| |:---------|:---------| -|Ctrl + Alt + L|格式化代码,可以对当前文件和整个包目录使用 `(必备)` | +|Ctrl + Alt + L|格式化代码,可以对当前文件和整个包目录使用。(有些文件格式化是有特殊要求的,比如 SQL 文件必须设置方言才可被格式化) `(必备)` | |Ctrl + Alt + O|优化导入的类,可以对当前文件和整个包目录使用 `(必备)` | |Ctrl + Alt + I|光标所在行 或 选中部分进行自动代码缩进,有点类似格式化| |Ctrl + Alt + T|对选中的代码弹出环绕选项弹出层 `(必备)` | |Ctrl + Alt + J|弹出模板选择窗口,将选定的代码加入动态模板中| |Ctrl + Alt + H|调用层次| |Ctrl + Alt + B|在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口| -|Ctrl + Alt + V|快速引进变量| +|Ctrl + Alt + C|重构-快速提取常量| +|Ctrl + Alt + F|重构-快速提取成员变量| +|Ctrl + Alt + V|重构-快速提取变量| |Ctrl + Alt + Y|同步、刷新| |Ctrl + Alt + S|打开 IntelliJ IDEA 系统设置 `(必备)` | |Ctrl + Alt + F7|显示使用的地方。寻找被该类或是变量被调用的地方,用弹出框的方式找出来| @@ -223,7 +225,7 @@ IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各 |F4|编辑源 `(必备)` | |F7|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中| |F8|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内| -|F9|在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上| +|F9|在 Debug 模式下,恢复程序运行,直至下个断点或程序运行结束| |F11|添加书签 `(必备)` | |F12|回到前一个工具窗口 `(必备)` | |Tab|缩进 `(必备)` | diff --git a/keymap-mac-introduce.md b/keymap-mac-introduce.md index d9e6bdaa..5e2e4dca 100644 --- a/keymap-mac-introduce.md +++ b/keymap-mac-introduce.md @@ -1,3 +1,4 @@ + # IntelliJ IDEA For Mac 快捷键 - 根据官方pdf翻译: @@ -7,31 +8,39 @@ > 建议将 Mac 系统中与 IntelliJ IDEA 冲突的快捷键取消或更改,不建议改 IntelliJ IDEA 的默认快捷键。 -#### 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(编辑) + +## Mac 键盘符号 + +|图标|介绍| +|:---------|:---------| +|⌘|Command| +|⇧|Shift| +|⇪|Caps Lock| +|⌥|Option = Alt| +|⌃|Control| +|↩|Enter| +|⌫|Delete| +|⌦|Fn + Delete| +|↑|上箭头| +|↓|下箭头| +|←|左箭头| +|→|右箭头| +|⇞|Fn + = Page Up| +|⇟|Fn + = Page Down| +|Home|Fn + | +|End|Fn + | +|⇥|Tab = 右制表符| +|⇤|Shift + Tab = 左制表符| +|⎋|Esc = Escape| +|⏏|电源开关键| + +#### Editing(编辑) + - `Control + Space` 基本的代码补全(补全任何类、方法、变量) - `Control + Shift + Space` 智能代码补全(过滤器方法列表和变量的预期类型) - `Command + Shift + Enter` 自动结束代码,行末自动添加分号 - `Command + P` 显示方法的参数信息 +- `Control + J` 显示当前位置的变量、方法的 Documentation 内容 - `Control + J` 快速查看文档 - `Shift + F1` 查看外部文档(在某些代码上会触发打开浏览器显示相关文档) - `Command + 鼠标放在代码上` 显示代码简要信息 @@ -40,13 +49,14 @@ - `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` 格式化代码 +- `Command + Option + L` 格式化代码(有些文件格式化是有特殊要求的,比如 SQL 文件必须设置方言才可被格式化) - `Control + Option + O` 优化import - `Control + Option + I` 自动缩进线 - `Tab / Shift + Tab` 缩进代码 / 反缩进代码 @@ -68,7 +78,7 @@ - `Command + Shift + 减号` 折叠所有代码块 - `Command + W` 关闭活动的编辑器选项卡 -#### 二、Search/Replace(查询/替换) +#### Search/Replace(查询/替换) - `Double Shift` 查询任何东西 - `Command + F` 文件内查找 - `Command + G` 查找模式下,向下查找 @@ -79,12 +89,14 @@ - `Command + Shift + S` 查询结构(Ultimate Edition 版专用,需要在Keymap中设置) - `Command + Shift + M` 替换结构(Ultimate Edition 版专用,需要在Keymap中设置) -#### 三、Usage Search(使用查询) +#### Usage Search(使用查询) + - `Option + F7 / Command + F7` 在文件中查找用法 / 在类中查找用法 - `Command + Shift + F7` 在文件中突出显示的用法 - `Command + Option + F7` 显示用法 -#### 四、Compile and Run(编译和运行) +#### Compile and Run(编译和运行) + - `Command + F9` 编译Project - `Command + Shift + F9` 编译选择的文件、包或模块 - `Control + Option + R` 弹出 Run 的可选择菜单 @@ -93,7 +105,8 @@ - `Control + D` 调试 - `Control + Shift + R, Control + Shift + D` 从编辑器运行上下文环境配置 -#### 五、Debugging(调试) +#### Debugging(调试) + - `F8` 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 - `F7` 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 - `Shift + F7` 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法 @@ -104,7 +117,8 @@ - `Command + F8` 切换断点(若光标当前行有断点则取消断点,没有则加上断点) - `Command + Shift + F8` 查看断点信息 -#### 六、Navigation(导航) +#### Navigation(导航) + - `Command + O` 查找类文件 - `Command + Shift + O` 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠`/` - `Command + Option + O` 前往指定的变量 / 方法 @@ -114,7 +128,8 @@ - `Shift + Esc` 隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口 - `Command + Shift + F4` 关闭活动run/messages/find/... tab - `Command + L` 在当前文件跳转到某一行的指定处 -- `Command + E` 显示最近打开的文件记录列表 +- `Command + E` 显示最近打开的 **文件记录** 列表 +- `Command + Shift + E` 显示最近打开的 **文件代码位置记录** 列表 - `Option + 方向键左 / Option + 方向键右` 光标跳转到当前单词 / 中文句的左 / 右侧开头位置 - `Command + Option + 方向键左 / Command + Option + 方向键右` 退回 / 前进到上一个操作的地方 - `Command + Shift + Delete` 跳转到最后一个编辑的地方 @@ -128,8 +143,7 @@ - `Command + ] / Command + [` 移动光标到当前所在代码的花括号开始/结束位置 - `Command + F12` 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法) - `Control + H` 显示当前类的层次结构 -- `Command + Shift + H` 显示方法层次结构 -- `Control + Option + H` 显示调用层次结构 +- `Option + Shift + H` 显示调用层次结构 - `F2 / Shift + F2` 跳转到下一个/上一个突出错误或警告的位置 - `F4 / Command + 方向键下` 编辑/查看代码源 - `Option + Home` 显示到当前文件的导航条 @@ -138,7 +152,8 @@ - `Control + 0...Control + 9` 定位到对应数值的书签位置 - `Command + F3` 显示所有书签 -#### 七、Refactoring(重构) +#### Refactoring(重构) + - `F5` 复制文件到指定目录 - `F6` 移动文件到指定目录 - `Command + Delete` 在文件上为安全删除文件,弹出确认框 @@ -151,17 +166,20 @@ - `Command + Option + C` 提取常量 - `Command + Option + P` 提取参数 -#### 八、VCS/Local History(版本控制/本地历史记录) +#### VCS/Local History(版本控制/本地历史记录) + - `Command + K` 提交代码到版本控制器 - `Command + T` 从版本控制器更新代码 - `Option + Shift + C` 查看最近的变更记录 - `Control + C` 快速弹出版本控制器操作面板 -#### 九、Live Templates(动态代码模板) +#### Live Templates(动态代码模板) + - `Command + Option + J` 弹出模板选择窗口,将选定的代码使用动态模板包住 - `Command + J` 插入自定义动态代码模板 -#### 十、General(通用) +#### General(通用) + - `Command + 1...Command + 9` 打开相应编号的工具窗口 - `Command + S` 保存所有 - `Command + Option + Y` 同步、刷新 @@ -175,5 +193,6 @@ - `Shift + Command + A` 查找动作(可设置相关选项) - `Control + Shift + Tab` 编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上delete,则是关闭对应选中的窗口) -#### 十一、Other(一些官方文档上没有体现的快捷键) +#### Other(一些官方文档上没有体现的快捷键) + - `Command + Shift +8` 竖编辑模式 diff --git a/keymap-win-mac.md b/keymap-win-mac.md index cc872333..52a69e50 100644 --- a/keymap-win-mac.md +++ b/keymap-win-mac.md @@ -1,27 +1,45 @@ # 从 Windows 过度到 Mac 必备快捷键对照表 -## Mac 键盘符号说明 - -- `⌘` == `Command` -- `⇧` == `Shift` -- `⇪` == `Caps Lock` -- `⌥` == `Option` -- `⌃` == `Control` -- `↩` == `Return/Enter` -- `⌫` == `Delete` -- `⌦` == `向前删除键(Fn+Delete)` -- `↑` == `上箭头` -- `↓` == `下箭头` -- `←` == `左箭头` -- `→` == `右箭头` -- `⇞` == `Page Up(Fn+↑)` -- `⇟` == `Page Down(Fn+↓)` -- `Home` == `Fn + ←` -- `End` == `Fn + →` -- `⇥` == `右制表符(Tab键)` -- `⇤` == `左制表符(Shift+Tab)` -- `⎋` == `Escape (Esc)` -- `⏏` == `电源开关键` +## Mac 键盘符号 + +|图标|介绍| +|:---------|:---------| +|⌘|Command| +|⇧|Shift| +|⇪|Caps Lock| +|⌥|Option = Alt| +|⌃|Control| +|↩|Enter| +|⌫|Delete| +|⌦|Fn + Delete| +|↑|上箭头| +|↓|下箭头| +|←|左箭头| +|→|右箭头| +|⇞|Fn + = Page Up| +|⇟|Fn + = Page Down| +|Home|Fn + | +|End|Fn + | +|⇥|Tab = 右制表符| +|⇤|Shift + Tab = 左制表符| +|⎋|Esc = Escape| +|⏏|电源开关键| + + +## Alt + +|Win 快捷键|Mac 快捷键|介绍| +|:---------|:---------|:---------| +|Alt + \`|Control + V|显示版本控制常用操作菜单弹出层| +|Alt + F1|Option + F1|显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择| +|Alt + F7|Option + F7|查询所选对象/变量被引用| +|Alt + Enter|Option + Enter|IntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同| +|Alt + Insert|Command + N|代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等| +|Alt + 左方向键|Control + 左方向键|切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换| +|Alt + 右方向键|Control + 右方向键|切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换| +|Alt + 前方向键|Control + 前方向键|当前光标跳转到当前文件的前一个方法名位置| +|Alt + 后方向键|Control + 后方向键|当前光标跳转到当前文件的后一个方法名位置| +|Alt + 1,2,3...9|Command + 1,2,3...9|显示对应数值的选项卡,其中 1 是 Project 用得最多| ## Ctrl @@ -30,6 +48,7 @@ |Ctrl + F|Command + F|在当前文件进行文本查找| |Ctrl + R|Command + R|在当前文件进行文本替换| |Ctrl + Z|Command + Z|撤销| +|Ctrl + G|Command + L|跳转到指定行数位置| |Ctrl + Y|Command + Delete|删除光标所在行 或 删除选中的行| |Ctrl + D|Command + D|复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面| |Ctrl + W|Option + 方向键上|递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围| @@ -37,6 +56,7 @@ |Ctrl + N|Command + O|根据输入的 **类名** 查找类文件| |Ctrl + J|Command + J|插入自定义动态代码模板| |Ctrl + P|Command + P|方法参数提示显示| +|Ctrl + Q|Control + J|当前位置变量、方法的 Documentation 内容显示| |Ctrl + U|Command + U|前往当前光标所在的方法的父类的方法 / 接口定义| |Ctrl + B|Command + B|进入光标所在的方法/变量的接口或是定义处,等效于 `Ctrl + 左键单击` | |Ctrl + /|Command + /|注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号| @@ -44,7 +64,7 @@ |Ctrl + F11|Option + F3|选中文件 / 文件夹,使用助记符设定 / 取消书签| |Ctrl + F12|Command + F12|弹出当前文件结构层,可以在弹出的层上直接输入,进行筛选| |Ctrl + Space|Control + Space|基础代码补全,默认在 Windows 系统上被输入法占用,需要进行修改,建议修改为 `Ctrl + 逗号`| -|Ctrl + Delete|Option + Fn+ Delete|删除光标后面的单词或是中文句| +|Ctrl + Delete|Option + Fn+ Delete|删除光标后面的单词或是中文句| |Ctrl + BackSpace|Option + Delete|删除光标前面的单词或是中文句| |Ctrl + 1,2,3...9|Control + 1,2,3...9|定位到对应数值的书签位置| |Ctrl + 加号|Command + 加号|展开代码| @@ -55,20 +75,6 @@ |Ctrl + 前方向键|预设中没有该快捷键|等效于鼠标滚轮向前效果| |Ctrl + 后方向键|预设中没有该快捷键|等效于鼠标滚轮向后效果| -## Alt - -|Win 快捷键|Mac 快捷键|介绍| -|:---------|:---------|:---------| -|Alt + \`|Control + V|显示版本控制常用操作菜单弹出层| -|Alt + F1|Option + F1|显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择| -|Alt + F7|Option + F7|查询所选对象/变量被引用| -|Alt + Enter|Option + Enter|IntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同| -|Alt + Insert|Command + N|代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等| -|Alt + 左方向键|Control + 左方向键|切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换| -|Alt + 右方向键|Control + 右方向键|切换当前已打开的窗口中的子视图,比如Debug窗口中有Output、Debugger等子视图,用此快捷键就可以在子视图中切换| -|Alt + 前方向键|Control + 前方向键|当前光标跳转到当前文件的前一个方法名位置| -|Alt + 后方向键|Control + 后方向键|当前光标跳转到当前文件的后一个方法名位置| -|Alt + 1,2,3...9|Command + 1,2,3...9|显示对应数值的选项卡,其中 1 是 Project 用得最多| ## Shift @@ -79,11 +85,22 @@ |Shift + Enter|Shift + Enter|开始新一行。光标所在行下空出一行,光标定位到新行位置| |Shift + 左键单击|Shift + 左键单击|在打开的文件名上按此快捷键,可以关闭当前打开文件| + +## Alt + Shift + +|Win 快捷键|Mac 快捷键|介绍| +|:---------|:---------|:---------| +|Alt + Shift + N|Option + Shift + N|选择 / 添加 task| +|Alt + Shift + 左键双击|Option + Shift + 左键双击|选择被双击的单词 / 中文句,按住不放,可以同时选择其他单词 / 中文句| +|Alt + Shift + 前方向键|Option + Shift + 前方向键|移动光标所在行向上移动| +|Alt + Shift + 后方向键|Option + Shift + 后方向键|移动光标所在行向下移动| + + ## Ctrl + Alt |Win 快捷键|Mac 快捷键|介绍| |:---------|:---------|:---------| -|Ctrl + Alt + L|Command + Option + L|格式化代码,可以对当前文件和整个包目录使用| +|Ctrl + Alt + L|Command + Option + L|格式化代码,可以对当前文件和整个包目录使用(有些文件格式化是有特殊要求的,比如 SQL 文件必须设置方言才可被格式化)| |Ctrl + Alt + O|Control + Option + O|优化导入的类,可以对当前文件和整个包目录使用| |Ctrl + Alt + T|Command + Option + T|对选中的代码弹出环绕选项弹出层| |Ctrl + Alt + S|Command + 逗号|打开 IntelliJ IDEA 系统设置| @@ -105,6 +122,7 @@ |Ctrl + Shift + T|Command + Shift + T|对当前类生成单元测试类,如果已经存在的单元测试类则可以进行选择| |Ctrl + Shift + C|Command + Shift + C|复制当前文件磁盘路径到剪贴板| |Ctrl + Shift + B|Control + Shift + B|跳转到类型声明处| +|Ctrl + Shift + H|Option + Shift + H|显示层次结构| |Ctrl + Shift + /|Command + Option + /|代码块注释| |Ctrl + Shift + \[|Command + Shift + \[|选中从光标所在位置到它的顶部中括号位置| |Ctrl + Shift + \]|Command + Shift + \]|选中从光标所在位置到它的底部中括号位置| @@ -121,15 +139,6 @@ |Ctrl + Shift + 前方向键|Command + Shift + 前方向键|光标放在方法名上,将方法移动到上一个方法前面,调整方法排序| |Ctrl + Shift + 后方向键|Command + Shift + 后方向键|光标放在方法名上,将方法移动到下一个方法前面,调整方法排序| -## Alt + Shift - -|Win 快捷键|Mac 快捷键|介绍| -|:---------|:---------|:---------| -|Alt + Shift + N|Option + Shift + B|选择 / 添加 task| -|Alt + Shift + 左键双击|Option + Shift + 左键双击|选择被双击的单词 / 中文句,按住不放,可以同时选择其他单词 / 中文句| -|Alt + Shift + 前方向键|Option + Shift + 前方向键|移动光标所在行向上移动| -|Alt + Shift + 后方向键|Option + Shift + 后方向键|移动光标所在行向下移动| - ## Ctrl + Shift + Alt |Win 快捷键|Mac 快捷键|介绍| @@ -137,7 +146,8 @@ |Ctrl + Shift + Alt + V|Command + Shift + Option + V|无格式黏贴| |Ctrl + Shift + Alt + S|Command + ;|打开当前项目设置| -## 其他 + +## Other |Win 快捷键|Mac 快捷键|介绍| |:---------|:---------|:---------| diff --git a/mac-install.md b/mac-install.md index b19ed781..406f4755 100644 --- a/mac-install.md +++ b/mac-install.md @@ -7,7 +7,7 @@ > * 内存:最低要求 1 G,推荐 2 G 以上 > * 硬盘:最低要求 2 G > * 显示器:最低要求 1024 X 768 分辨率 -> * 更多信息可以阅读: +> * 更多信息可以阅读: ## 重要说明 diff --git a/make-introduce.md b/make-introduce.md index 566bad4f..234d8f3b 100644 --- a/make-introduce.md +++ b/make-introduce.md @@ -5,17 +5,18 @@ 相比较于 Eclipse 的实时自动编译,IntelliJ IDEA 的编译更加手动化,虽然 IntelliJ IDEA 也支持通过设置开启实时编译,但是不建议,因为太占资源了。IntelliJ IDEA 编译方式除了手工点击编译按钮进行编译之外,还有就是在容器运行之前配置上一个编译事件,先编译后运行。默认下 IntelliJ IDEA 也都是这样的设置,所以实际开发中你也不用太注意编译这件事。虽然 IntelliJ IDEA 没有实时编译,但是对于代码检查完全是没有影响。但是多个类之间的关联关系还是要等 Make 或 Rebuild 触发的时候才会做相关检查的。 在 IntelliJ IDEA 里,编译方式一共有三种: -> * Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。 +> * Compile:对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。注:2018版操作为Recompile。 > * Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。 -> * Make:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。 +> * Make:使用最多的编译操作。对选定的目标(Project 或 Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。注:2018版操作为Build。 ## 编译触发按钮 ![IntelliJ IDEA 编译触发按钮](images/xiii-a-make-introduce-1.jpg) -> * 如上图标注 1 所示,Compile 的操作有:`Compile` 指定类 -> * 如上图标注 1 所示,Rebuild 的操作有:`Rebuild Project` > * 如上图标注 1 所示,Make 的操作有:`Make Project`、`Make Module` +> * 如上图标注 2 所示,Compile 的操作有:`Compile` 指定类 +> * 如上图标注 3 所示,Rebuild 的操作有:`Rebuild Project` + ## 运行之前的编译 @@ -44,4 +45,4 @@ > * 如上图动态 Gif 所示,IntelliJ IDEA 支持常见的几种编译器:`Javac`、`Eclipse`、`Ajc` 等。默认是 `Javac`,也推荐使用 `Javac`。 > * `Project bytecode version` 针对项目字节码编译版本,一般选择的是当前项目主 JDK 的版本。 -> * `Per-module bytecode version` 可以针对 `Project` 下各个 `Module` 的特殊需求单独设置不同的 `bytecode version`,前提是电脑上必须有安装对应的 JDK 版本。 \ No newline at end of file +> * `Per-module bytecode version` 可以针对 `Project` 下各个 `Module` 的特殊需求单独设置不同的 `bytecode version`,前提是电脑上必须有安装对应的 JDK 版本。 diff --git a/maven-java-web-project-introduce.md b/maven-java-web-project-introduce.md index 94200891..ec3e7b65 100644 --- a/maven-java-web-project-introduce.md +++ b/maven-java-web-project-introduce.md @@ -28,14 +28,14 @@ - 所有编码:UTF-8 -## 演示内容 +## 视频中项目源码 - 环境相关: - - Maven 环境说明: - - 我的 Maven 环境分享下载: - - 建议你也跟我一样直接解压在 D 盘根目录,这样其他就不需要设置了 - - Git 环境的说明: + - [Maven 配置文件](maven-skill-introduce.md) + - 我的 Maven 本地依赖包环境下载: + - 建议你也跟我一样直接解压在 D 盘根目录,这样其他就不需要设置了 + - Git 环境的说明(默认安装): - IntelliJ IDEA 基础教程系列: --- @@ -66,4 +66,4 @@ - JSP 页面直接点击请求地址直接跳转到 Controller - 静态资源映射特别提醒下,比如你做图片上传等等,如果你没有映射好可能都会遇到 404 - 查看 Druid 提供监控 - - 演示用 Mybatis 插件自动生成代码 \ No newline at end of file + - 演示用 Mybatis 插件自动生成代码 diff --git a/maven-java-web-project-introduce3.md b/maven-java-web-project-introduce3.md deleted file mode 100644 index 331a5241..00000000 --- a/maven-java-web-project-introduce3.md +++ /dev/null @@ -1,22 +0,0 @@ -# Maven 的单模块 Spring Boot 项目 - - -## 初衷 - -- 本章展示 IntelliJ IDEA 高度集成化的效果,降低 IntelliJ IDEA 入门时间 -- 欢迎来到 IntelliJ IDEA 世界 - - -## 项目 - -- 项目地址: - - -## 开发环境 - -- JDK 8(理论上支持 JDK 6、JDK 7、JDK 8) -- MySQL 5.7 -- Maven 3.3.9 -- Tomcat 8(Spring Boot 内置) -- IntelliJ IDEA 2017.2.1 -- 所有编码:UTF-8 \ No newline at end of file diff --git a/maven-project-introduce.md b/maven-project-introduce.md index 1d58cae9..cc0af4bb 100644 --- a/maven-project-introduce.md +++ b/maven-project-introduce.md @@ -11,6 +11,7 @@ ![Maven 常用设置介绍](images/xxii-a-maven-setting-1.jpg) > * 如上图标注 1 所示,我们可以指定我们本地 Maven 的安装目录所在,因为我已经配置了 `MAVEN_HOME` 系统参数,所以直接这样配置 IntelliJ IDEA 是可以找到的。但是假如你没有配置的话,这里可以选择你的 Maven 安装目录。 +> * 如上图标注 1 上面的 Threads 中可以设置多个线程数,比如填写:2(线程数并不一定是越多越快,需要执行测试) > * 如上图标注 2 所示,我们还可以指定 Maven 的 `settings.xml` 位置和本地仓库位置。 ![Maven 常用设置介绍](images/xxii-a-maven-setting-2.jpg) diff --git a/plugins-develop.md b/plugins-develop.md index 5a2a21ae..31ca3f9b 100644 --- a/plugins-develop.md +++ b/plugins-develop.md @@ -4,6 +4,40 @@ - IntelliJ IDEA 的插件理论上是同时也适用于 JetBrains 公司下的其他大多数 IDE 的,因为这些 IDE 都是基于 IntelliJ IDEA 的基础平台进行开发的,请牢记这一点。 +## 环境准备 + +- 当前时间:2024-09 +- 官网说明: +- 从 2023.3 版本开始不在自带 Plugin DevKit 插件,所以你想要开发 IntelliJ IDEA 插件需要先安装 Plugin DevKit +- 官网提供了一个样板项目: +- 当前 JDK 最低要求 17 +- Gradle 开发环境搭建: +- 设置 Plugin SDK: +- 推荐使用 IntelliJ IDEA Community Edition 版本,有一些依赖加载快、源码可以点击直接查看 + +## 文档 + +- 官网文档: +- 官网示例: +- 其他文档: + - + - + + +## 运行调试方法 + +- 右上角运行区域,下拉选择: Run Plugin,点击 Debug,会启动一个新的 IntelliJ IDEA UI 界面,它会自动帮我们安装正在开发的插件 +- 并且当前环境是 debug 状态,你在源码设置了断点,执行到该断点后可以被阻断 + + +## 打包 + +- 选择右侧 Gradle > Tasks > build > assemble,项目根目录会有一个 build/distributions 目录生成,可以看到一个 zip 文件。可以用它来安装和发布。 + + + +------------------------------------------------------------------- + ## 教程视频下载和介绍 - 视频章节结构: @@ -16,8 +50,7 @@ - `07_翻译插件显示气泡` - `08_把插件上传到公共仓库` - 视频教程下载地址 - - 原下载地址: - - 备用下载地址:,密码:gqo2,如果哪天下载地址失效,请在本 Github 项目发 Issues。 + - 下载地址:,密码:gnpl,如果哪天下载地址失效,请在本 Github 项目发 Issues。 - 这套教程视频不是本人录制的,所以需要特别强调下,本套视频来自:[传智播客公开课:Android Studio插件开发](http://open.itcast.cn/java/14-539.html),在此特别感谢别人的付出(鞠躬)。 ## 其他图文资料介绍 @@ -53,5 +86,6 @@ - - - +- diff --git a/plugins-settings.md b/plugins-settings.md index 238322d5..07c1e3ba 100644 --- a/plugins-settings.md +++ b/plugins-settings.md @@ -39,28 +39,64 @@ ## 插件推荐 -|插件名称 |插件介绍 |官网地址 | -|:-----------------|:----------|:--------------| -|GitOSC|开源中国的码云插件|| -|Alibaba Java Coding Guidelines|阿里巴巴出的代码规范检查插件|https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines| -|IDE Features Trainer|IntelliJ IDEA 官方出的学习辅助插件|| -|Key promoter|快捷键提示|| -|Grep Console|自定义设置控制台输出颜色|| -|String Manipulation|驼峰式命名和下划线命名交替变化|| -|CheckStyle-IDEA|代码规范检查|| -|FindBugs-IDEA|潜在 Bug 检查|| -|MetricsReloaded|代码复杂度检查|| -|Statistic|代码统计|| -|JRebel Plugin|热部署|| -|CodeGlance|在编辑代码最右侧,显示一块代码小地图|| -|GsonFormat|把 JSON 字符串直接实例化成类|| -|Markdown Navigator|书写 Markdown 文章|| -|Eclipse Code Formatter|使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用。|| -|Jindent-Source Code Formatter|自定义类、方法、doc、变量注释模板|| -|Translation|翻译插件|| -|Maven Helper|Maven 辅助插件|| -|Properties to YAML Converter|把 Properties 的配置格式改为 YAML 格式|| -|Git Flow Integration|Git Flow 的图形界面操作|| +|编号|插件名称 |插件介绍 |官网地址 | +|:---|:-----------------|:----------|:--------------| +|01|.ignore|各类版本控制忽略文件生成工具|| +|02|Alibaba Java Coding Guidelines|阿里巴巴出的代码规范检查插件|| +|03|Alibaba Cloud Toolkit|阿里云辅助开发工具|| +|04|BashSupport|Bash 支持|| +|05|CheckStyle-IDEA|代码规范检查|| +|06|Eclipse Code Formatter|使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用。|| +|07|FindBugs-IDEA|潜在 Bug 检查|| +|08|Gitee|开源中国的码云插件|| +|09|Grep Console|自定义设置控制台输出颜色|| +|10|Git Flow Integration|Git Flow 的图形界面操作|| +|11|GsonFormatPlus|把 JSON 字符串直接实例化成类|| +|12|Json2Pojo|根据 JSON 生成 POJO,根据 POJO 生成 JSON|| +|13|GenerateAllSetter|new POJO类的快速生成 set 方法|| +|14|IDE Features Trainer|IntelliJ IDEA 官方出的学习辅助插件|| +|15|JRebel Plugin|热部署|| +|16|Jindent-Source Code Formatter|自定义类、方法、doc、变量注释模板|| +|17|Key promoter|快捷键提示|| +|18|kubernetes|kubernetes 辅助工具|| +|19|Lombok Plugin|Lombok 功能辅助插件|| +|20|MetricsReloaded|代码复杂度检查|| +|21|Maven Helper|Maven 辅助插件|| +|22|Markdown Navigator|书写 Markdown 文章|| +|23|MybatisX|mybatis 框架辅助(免费)|| +|24|MyBatis Log Plugin|Mybatis SQL 提取|| +|25|MapStruct Support|对 MapStruct 属性转换支持|| +|26|OnlineSearch|选择文本后支持不同搜索引擎进行搜索|| +|27|Properties to YAML Converter|把 Properties 的配置格式改为 YAML 格式|| +|28|RestfulToolkit|方便查找 Spring MVC 的 RequestMapping|| +|29|Rainbow Brackets|对各个对称括号进行着色,方便查看|| +|30|String Manipulation|驼峰式命名和下划线命名交替变化|| +|31|Statistic|代码统计|| +|32|Scala|对 Scala 支持|| +|33|Translation|翻译插件|| +|34|VisualVM Launcher|项目启动的时候也启动 VisualVM|| +|35|arthas idea|阿里 arthas 支持|| +|36|Multirun|启动多应用|| +|37|BrowseWordAtCaret|简单代替Ctrl+F,通过快捷键的方式直接跳转到下个同单词位置|| +|38|CodeGlance2|在编辑代码最右侧,显示一块代码小地图,前端代码适合|| +|39|Save Actions|在保存代码时触发一系列自定义操作,比如优化导入包、格式化、添加删除部分代码等|| +|40|MurphySec Code Scan|检测依赖包相关安全问题|| +|41|MetricsReloaded|圈复杂度(Cyclomatic complexity)代码复杂度检查|| +|42|MybatisLogFormat|控制台 MyBatis SQL 输出补全参数|| +|43|JetBrains Academy|帮助学习开发语言: Kotlin, Java, Python, JavaScript, Rust, Scala, C/C++, Go, PHP|| +|44|WeChat Mini Program|官方支持|| +|45|Git Commit Message Helper|一个可帮助您标准化提交内容的插件|| +|46|LogIt|快速插入 Javascript console.log|| +|47|Uniapp Tool|Uniapp 支持|| +|48|Json Helper|JSON格式化,特别的地方在于可以处理子对象字符串中的JSON|| +|49|Inspection Lens|以内联方式显示错误、警告和其他检查|| +|50|batslog|Mybatis SQL 格式化|| +|51|MultiHighlight|使用自定义颜色突出显示标识符,有助于读取源代码|| +|52|CodeGlance Pro|在编辑器窗格中显示类似于 Sublime 中的缩小概览或小地图|| +|53|Indent Rainbow|使缩进更具可读性|| +|54|Rainbow Brackets Lite|Rainbow Brackets 免费版本|| +|55|Spring Debugger|JetBrains 官方编写的 Spring 辅助插件|| + ## lombok 插件的使用 diff --git a/project-composition-introduce.md b/project-composition-introduce.md index 91b2e485..1e99b8f2 100644 --- a/project-composition-introduce.md +++ b/project-composition-introduce.md @@ -94,11 +94,11 @@ 对于大型项目,各个 Module 用到的 `SDK` 和 `language level` 很有可能是各不一样的,IntelliJ IDEA 对此也进行了支持。 -![Module 下的 SDK 和 language level](images/xiv-d-module-setting-1.jpg) +![Module 下的 SDK 和 language level](images/xiv-d-module-setting-2.jpg) > * 如上图标注 1 所示,可以针对 Module 选择其他 SDK,默认选择的是 `Project SDK` -![Module 下的 SDK 和 language level](images/xiv-d-module-setting-2.jpg) +![Module 下的 SDK 和 language level](images/xiv-d-module-setting-1.jpg) > * 如上图标注 1 所示,可以针对 Module 选择其他 `language level`,默认选择的是 `Project language level` diff --git a/settings-introduce-1.md b/settings-introduce-1.md index 6994804e..5c41e75c 100644 --- a/settings-introduce-1.md +++ b/settings-introduce-1.md @@ -1,4 +1,4 @@ -# IntelliJ IDEA 常用设置讲解 +# IntelliJ IDEA 常用设置讲解 - 1 ## 说明 @@ -6,70 +6,51 @@ IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也 ## 常用设置 -![常用设置](images/xxvi-a-settings-introduce-1.jpg) - -> * IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注 1 所示,默认就是 `First letter` 区分大小写的。 -> * 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 `stringBuffer` IntelliJ IDEA 是不会帮我们提示或是代码补充的,但是如果我们输入 `StringBuffer` 就可以进行代码提示和补充。 -> * 如果想不区分大小写的话,改为 `None` 选项即可。 ![常用设置](images/xxvi-a-settings-introduce-2.gif) -> * 如上图 Gif 所示,该功能用来快速设置代码检查等级。我个人一般在编辑大文件的时候会使用该功能。IntelliJ IDEA 对于编辑大文件并没有太大优势,很卡,原因就是它有各种检查,这样是非常耗内存和 CPU 的,所以为了能加快大文件的读写,我一般会暂时性设置为 `None`。 - ->> * `Inspections` 为最高等级检查,可以检查单词拼写,语法错误,变量使用,方法之间调用等。 ->> * `Syntax` 可以检查单词拼写,简单语法错误。 ->> * `None` 不设置检查。 - -![常用设置](images/xxvi-a-settings-introduce-3.jpg) +- 如上图 Gif 所示,该功能用来快速设置代码检查等级。我个人一般在编辑大文件的时候会使用该功能。IntelliJ IDEA 对于编辑大文件并没有太大优势,很卡,原因就是它有各种检查,这样是非常耗内存和 CPU 的,所以为了能加快大文件的读写,我一般会暂时性设置为 `None`。 +- `Inspections` 为最高等级检查,可以检查单词拼写,语法错误,变量使用,方法之间调用等。 +- `Syntax` 可以检查单词拼写,简单语法错误。 +- `None` 不设置检查。 -> * 如上图标注 1 和 2 所示,默认 IntelliJ IDEA 是没有开启自动 import 包的功能。 - ->> * 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化导入的包,比如自动去掉一些没有用到的包。 ->> * 勾选标注 2 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们导入需要用到的包。但是对于那些同名的包,还是需要手动 `Alt + Enter` 进行导入的,IntelliJ IDEA 目前还无法智能到替我们做判断。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-4.jpg) -> * 如上图标注 1 所示,当我们 Java 类中导入的某个包下类超过这里设置的指定个数,就会换成用 `*` 号来代替。 - -![常用设置](images/xxvi-a-settings-introduce-5.gif) +- 如上图标注 1 所示,当我们 Java 类中导入的某个包下类超过这里设置的指定个数,就会换成用 `*` 号来代替。 -> * 如上图 Gif 所示,IntelliJ IDEA 默认是会折叠空包的,这样就会出现包名连在一起的情况。但是有些人不喜欢这种结构,喜欢整个结构都是完整树状的,所以我们可以去掉演示中的勾选框即可。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-6.jpg) -> * 如上图标注 1 所示,IntelliJ IDEA 有一种叫做 `省电模式` 的状态,开启这种模式之后 IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般我也会认为这是一种 `阅读模式`,如果你在开发过程中遇到突然代码文件不能进行检查和提示可以来看看这里是否有开启该功能。 - -![常用设置](images/xxvi-a-settings-introduce-7.gif) - -> * 如上图 Gif 所示,在我们按 `Ctrl + Shift + N` 进行打开某个文件的时候,我们可以直接定位到该文件的行数上。一般我们在调 CSS,根据控制台找空指针异常的时候,使用该方法速度都会相对高一点。 +- 如上图标注 1 所示,IntelliJ IDEA 有一种叫做 `省电模式` 的状态,开启这种模式之后 IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般我也会认为这是一种 `阅读模式`,如果你在开发过程中遇到突然代码文件不能进行检查和提示可以来看看这里是否有开启该功能。 -![常用设置](images/xxvi-a-settings-introduce-8.jpg) +---------------------------------------------------------------------------- -> * 如上图标注红圈所示,我们可以对指定代码类型进行默认折叠或是展开的设置,勾选上的表示该类型的代码在文件被打开的时候默认是被折叠的,去掉勾选则反之。 +![常用设置](images/xxvi-a-settings-introduce-7.gif) -![常用设置](images/xxvi-a-settings-introduce-9.gif) +- 如上图 Gif 所示,在我们按 `Ctrl + Shift + N` 进行打开某个文件的时候,我们可以直接定位到该文件的行数上。一般我们在调 CSS,根据控制台找空指针异常的时候,使用该方法速度都会相对高一点。 -> * 如上图 Gif 所示,IntelliJ IDEA 支持对代码进行垂直或是水平分组。一般在对大文件进行修改的时候,有些修改内容在文件上面,有些内容在文件下面,如果来回操作可能效率会很低,用此方法就可以好很多。当然了,前提是自己的显示器分辨率要足够高。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-10.jpg) -> * 如上图箭头所示,IntelliJ IDEA 默认是开启单词拼写检查的,有些人可能有强迫症不喜欢看到单词下面有波浪线,就可以去掉该勾选。但是我个人建议这个还是不要关闭,因为拼写检查是一个很好的功能,当大家的命名都是标准话的时候,这可以在不时方便地帮我们找到代码因为拼写错误引起的 Bug。 +- 如上图箭头所示,IntelliJ IDEA 默认是开启单词拼写检查的,有些人可能有强迫症不喜欢看到单词下面有波浪线,就可以去掉该勾选。但是我个人建议这个还是不要关闭,因为拼写检查是一个很好的功能,当大家的命名都是标准话的时候,这可以在不时方便地帮我们找到代码因为拼写错误引起的 Bug。 -![常用设置](images/xxvi-a-settings-introduce-11.gif) +---------------------------------------------------------------------------- -> * 如上图 Gif 所示,我们可以对组件窗口的子窗口进行拖动移位,有时候设置过头或是效果不满意,那我们需要点击此按钮进行窗口还原。 +![常用设置](images/xxvi-a-settings-introduce-11.gif) -![常用设置](images/xxvi-a-settings-introduce-12.gif) +- 如上图 Gif 所示,我们可以对组件窗口的子窗口进行拖动移位,有时候设置过头或是效果不满意,那我们需要点击此按钮进行窗口还原。 -> * 如上图 Gif 所示,在没有对 `Ctrl + D` 快捷键进行修改前,此快捷键将是用来复制并黏贴所选的内容的,但是黏贴的位置是补充在原来的位置后,我个人不喜欢这种风格,我喜欢复制所选的行数完整内容,所以进行了修改,修改后的效果如上图 Gif 演示。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-13.gif) -> * 如上图 Gif 所示,默认 `Ctrl + 空格` 快捷键是基础代码提示、补充快捷键,但是由于我们中文系统基本这个快捷键都被输入法占用了,所以我们发现不管怎么按都是没有提示代码效果的,原因就是在此。我个人建议修改此快捷键为 `Ctrl + 逗号`。 - -![常用设置](images/xxvi-a-settings-introduce-14.gif) +- 如上图 Gif 所示,默认 `Ctrl + 空格` 快捷键是基础代码提示、补充快捷键,但是由于我们中文系统基本这个快捷键都被输入法占用了,所以我们发现不管怎么按都是没有提示代码效果的,原因就是在此。我个人建议修改此快捷键为 `Ctrl + 逗号`。 -> * 如上图 Gif 所示,IntelliJ IDEA 14 版本默认是不显示内存使用情况的,对于大内存的机器来讲不显示也无所谓,但是如果是内存小的机器最好还是显示下。如上图演示,点击后可以进行部分内存的回收。 +---------------------------------------------------------------------------- diff --git a/settings-introduce-2.md b/settings-introduce-2.md index c3e49f05..7260f9b3 100644 --- a/settings-introduce-2.md +++ b/settings-introduce-2.md @@ -1,4 +1,4 @@ -# IntelliJ IDEA 常用设置讲解 +# IntelliJ IDEA 常用设置讲解 - 2 ## 说明 @@ -8,29 +8,52 @@ IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也 ![常用设置](images/xxvi-a-settings-introduce-24.gif) -> * 如上图 Gif 所示,当我们设置了组件窗口的 `Pinned Mode` 属性之后,在切换到其他组件窗口的时候,已设置该属性的窗口不会自动隐藏。 +- 如上图 Gif 所示,当我们设置了组件窗口的 `Pinned Mode` 属性之后,在切换到其他组件窗口的时候,已设置该属性的窗口不会自动隐藏。 + +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-25.gif) -> * 如上图 Gif 所示,我们可以对某些文件进行添加到收藏夹,然后在收藏夹组件窗口中可以查看到我们收藏的文件。 +- 如上图 Gif 所示,我们可以对某些文件进行添加到收藏夹,然后在收藏夹组件窗口中可以查看到我们收藏的文件。 -![常用设置](images/xxvi-a-settings-introduce-26.gif) +---------------------------------------------------------------------------- -> * 如上图 Gif 所示,我们可以通过 `Alt + F1` + `1` 快捷键来定位当前文件所在 Project 组件窗口中的位置。 +![常用设置](images/xxvi-a-settings-introduce-26.gif) -![常用设置](images/xxvi-a-settings-introduce-27.gif) +- 如上图 Gif 所示,我们可以通过 `Alt + F1` + `1` 快捷键来定位当前文件所在 Project 组件窗口中的位置。 -> * 如上图 Gif 所示,我们可以勾选此设置后,增加 `Ctrl + 鼠标滚轮` 快捷键来控制代码字体大小显示。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-28.gif) -> * 如上图 Gif 所示,我们可以勾选此设置后,增加 `Ctrl + 鼠标滚轮` 快捷键来控制图片的大小显示。 +- 如上图 Gif 所示,我们可以勾选此设置后,增加 `Ctrl + 鼠标滚轮` 快捷键来控制图片的大小显示。 -![常用设置](images/xxvi-a-settings-introduce-29.jpg) - -> * 如上图红圈所示,默认 IntelliJ IDEA 是没有勾选 `Show line numbers` 显示行数的,但是我建议一般这个要勾选上。 -> * 如上图红圈所示,默认 IntelliJ IDEA 是没有勾选 `Show method separators` 显示方法线的,这种线有助于我们区分开方法,所以也是建议勾选上的。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-30.gif) -> * 如上图 Gif 所示,我们选中要被折叠的代码按 `Ctrl + Alt + T` 快捷键,选择自定义折叠代码区域功能。 \ No newline at end of file +- 如上图 Gif 所示,我们选中要被折叠的代码按 `Ctrl + Alt + T` 快捷键,选择自定义折叠代码区域功能。 + +---------------------------------------------------------------------------- + + +![常用设置](images/xxvi-a-settings-introduce-32.gif) + +- 如上图 Gif 所示,即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录。除了简单的记录之外,我们还可以给当前版本加标签。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-33.gif) + +- 如上图 Gif 所示,我们还可以根据选择的代码,查看该段代码的本地历史,这样就省去了查看文件中其他内容的历史了。除了对文件可以查看历史,文件夹也是可以查看各个文件变化的历史。 + +---------------------------------------------------------------------------- + + +![常用设置](images/xxvi-a-settings-introduce-5.gif) + +- 如上图 Gif 所示,IntelliJ IDEA 默认是会折叠空包的,这样就会出现包名连在一起的情况。但是有些人不喜欢这种结构,喜欢整个结构都是完整树状的,所以我们可以去掉演示中的勾选框即可。 + + +---------------------------------------------------------------------------- + diff --git a/settings-introduce-3.md b/settings-introduce-3.md index b8091d06..d7a296dd 100644 --- a/settings-introduce-3.md +++ b/settings-introduce-3.md @@ -1,4 +1,4 @@ -# IntelliJ IDEA 常用设置讲解 +# IntelliJ IDEA 常用设置讲解 - 3 ## 说明 @@ -8,52 +8,45 @@ IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也 ![常用设置](images/xxvi-a-settings-introduce-31.gif) -> * 如上图 Gif 所示,当我们在编辑某个文件的时候,自动定位到当前文件所在的 Project 组件窗口位置。 +- 如上图 Gif 所示,当我们在编辑某个文件的时候,自动定位到当前文件所在的 Project 组件窗口位置。 -![常用设置](images/xxvi-a-settings-introduce-32.gif) - -> * 如上图 Gif 所示,即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录。除了简单的记录之外,我们还可以给当前版本加标签。 - -![常用设置](images/xxvi-a-settings-introduce-33.gif) - -> * 如上图 Gif 所示,我们还可以根据选择的代码,查看该段代码的本地历史,这样就省去了查看文件中其他内容的历史了。除了对文件可以查看历史,文件夹也是可以查看各个文件变化的历史。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-34.gif) -> * 如上图 Gif 所示,IntelliJ IDEA 自带了代码检查功能,可以帮我们分析一些简单的语法问题和一些代码细节。 +- 如上图 Gif 所示,IntelliJ IDEA 自带了代码检查功能,可以帮我们分析一些简单的语法问题和一些代码细节。 + +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-35.gif) -> * 如上图 Gif 所示,IntelliJ IDEA 自带模拟请求工具 Rest Client,在开发时用来模拟请求是非常好用的。 +- 如上图 Gif 所示,IntelliJ IDEA 自带模拟请求工具 Rest Client,在开发时用来模拟请求是非常好用的。 + +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-36.gif) -> * 如上图 Gif 所示,IntelliJ IDEA 的自定义 TODO 功能非常好用,强烈建议平时开发要经常使用上。 +- 如上图 Gif 所示,IntelliJ IDEA 的自定义 TODO 功能非常好用,强烈建议平时开发要经常使用上。 -![常用设置](images/xxvi-a-settings-introduce-37.jpg) +---------------------------------------------------------------------------- -> * 如上图箭头所示,在 Debug 状态下,如果我们要批量删除断点,可以点击图上箭头所示的按钮,然后选中要删除的断点按断点上面的减号进行删除。 +![常用设置](images/xxvi-a-settings-introduce-37.jpg) -![常用设置](images/xxvi-a-settings-introduce-38.gif) +- 如上图箭头所示,在 Debug 状态下,如果我们要批量删除断点,可以点击图上箭头所示的按钮,然后选中要删除的断点按断点上面的减号进行删除。 -> * 默认 IntelliJ IDEA 是有一套自己的 IDE 整体设置的,比如 IDE 设置中我们常修改的:默认编码、编译版本、Maven 本地库路径等等,这些其实是可以避免的。 -> * 按正常设置 Project 流程的话,我们在 Project 状态下进行 IDE 设置,这些设置并不会被当做一个标准的 IDE 设置模板保存起来,所以你下次打开一个新的 Project 还是要重新设置的,为了简便操作,你可以按上图 Gif 所示进行设置 `Default Settings,这样下次打开新的 Project 就会以这个 IDE 设置进行。 -> * 需要注意的是:设置好配置之后,你需要重启 IntelliJ IDEA,重启之后的 IntelliJ IDEA 重新打开 Project 才能有效果。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-39.jpg) -> * 如上图所示,不管是用 IntelliJ IDEA 打开新文件,或是在安装本地插件,在弹出的窗口中,图 1 按钮支持快速定位到系统桌面目录,图 2 按钮支持快速定位到当前项目目录。 - -![常用设置](images/xxvi-a-settings-introduce-40.jpg) - -> * 2016.2 版本新增箭头指向的按钮,在提交列表里可以显示项目中未加入到版本控制的文件,方便我们在提交的时候做好代码检查,以防漏掉某些文件未提交。 - - - +- 如上图所示,不管是用 IntelliJ IDEA 打开新文件,或是在安装本地插件,在弹出的窗口中,图 1 按钮支持快速定位到系统桌面目录,图 2 按钮支持快速定位到当前项目目录。 +---------------------------------------------------------------------------- +![常用设置](images/xxvi-a-settings-introduce-40.jpg) +- 2016.2 版本新增箭头指向的按钮,在提交列表里可以显示项目中未加入到版本控制的文件,方便我们在提交的时候做好代码检查,以防漏掉某些文件未提交。 +---------------------------------------------------------------------------- diff --git a/settings-introduce-4.md b/settings-introduce-4.md index 392aa48d..8847d378 100644 --- a/settings-introduce-4.md +++ b/settings-introduce-4.md @@ -1,4 +1,4 @@ -# IntelliJ IDEA 常用设置讲解 +# IntelliJ IDEA 常用设置讲解 - 4 ## 说明 @@ -6,75 +6,50 @@ IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也 ## 常用设置 -![常用设置](images/xxvi-a-settings-introduce-15.jpg) - -> * 如上图标注 1 所示,在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。 - -![常用设置](images/xxvi-a-settings-introduce-16.gif) - -> * 如上图 Gif 所示,默认 IntelliJ IDEA 对于 Java 代码的单行注释是把注释的斜杠放在行数的最开头,我个人觉得这样的单行注释非常丑,整个代码风格很难看,所以一般会设置为单行注释的两个斜杠跟随在代码的头部。 - ![常用设置](images/xxvi-a-settings-introduce-17.gif) -> * 如上图 Gif 所示,默认 Java 代码的头个花括号是不换行的,但是有人喜欢对称结构的花括号,可以进行此设置。对于此功能我倒是不排斥,我个人也是颇喜欢这种对称结构的,但是由于这种结构会占行,使得文件行数变多,所以虽然我个人喜欢,但是也不这样设置。 - -![常用设置](images/xxvi-a-settings-introduce-18.jpg) - -> * 如上图标注 1 所示,如果在 make 或 rebuild 过程中很慢,可以增加此堆内存设置,一般大内存的机器设置 `1500` 以上都是不要紧的。 - -![常用设置](images/xxvi-a-settings-introduce-19.jpg) - -> * 如上图标注 1 所示,勾选此选项后,启动 IntelliJ IDEA 的时候,默认会打开上次使用的项目。如果你只有一个项目的话,该功能还是很好用的,但是如果你有多个项目的话,建议还是关闭,这样启动 IntelliJ IDEA 的时候可以选择最近打开的某个项目。 -> * 如上图红圈所示,该选项是设置当我们已经打开一个项目窗口的时候,再打开一个项目窗口的时候是选择怎样的打开方式。 - ->> * `Open project in new window` 每次都使用新窗口打开。 ->> * `Open project in the same window` 每次都替换当前已打开的项目,这样桌面上就只有一个项目窗口。 ->> * `Confirm window to open project in` 每次都弹出提示窗口,让我们选择用新窗口打开或是替换当前项目窗口。 +- 如上图 Gif 所示,默认 Java 代码的头个花括号是不换行的,但是有人喜欢对称结构的花括号,可以进行此设置。对于此功能我倒是不排斥,我个人也是颇喜欢这种对称结构的,但是由于这种结构会占行,使得文件行数变多,所以虽然我个人喜欢,但是也不这样设置。 -![常用设置](images/xxvi-a-settings-introduce-20.gif) - -> * 如上图 Gif 所示,对于横向太长的代码我们可以进行软分行查看。软分行引起的分行效果是 IntelliJ IDEA 设置的,本质代码是没有真的分行的。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-21.jpg) -> * 如上图箭头所示,该设置可以增加 `Ctrl + E` 弹出层显示的记录文件个数。 - -![常用设置](images/xxvi-a-settings-introduce-22.jpg) +- 如上图箭头所示,该设置可以增加 `Ctrl + E` 弹出层显示的记录文件个数。 -> * 如上图箭头所示,该设置可以增加打开的文件 Tab 个数,当我们打开的文件超过该个数的时候,早打开的文件会被新打开的替换。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-23.jpg) -> * 如上图标注 1 所示,该区域的后缀类型文件在 IntelliJ IDEA 中将以标注 2 的方式进行打开。 -> * 如上图标注 3 所示,我们可以在 IntelliJ IDEA 中忽略某些后缀的文件或是文件夹,比如我一般会把 `.idea` 这个文件夹忽略。 - -![常用设置](images/xxvi-a-settings-introduce-41.gif) - -> * 如上图 Gif 所示,这是一个 Maven 多模块项目,在开发多模块的时候,经常会改到其他模块的代码,而模块与模块之间是相互依赖,如果不进行 install 就没办法使用到最新的依赖。 -> * 所以,为了减少自己手动 install 的过程,可以把 install 过程放在项目启动之前,就像 Gif 所示那样。 +- 如上图标注 1 所示,该区域的后缀类型文件在 IntelliJ IDEA 中将以标注 2 的方式进行打开。 +- 如上图标注 3 所示,我们可以在 IntelliJ IDEA 中忽略某些后缀的文件或是文件夹,比如我一般会把 `.idea` 这个文件夹忽略。 +---------------------------------------------------------------------------- -![常用设置](images/xxvi-a-settings-introduce-42.jpg) -![常用设置](images/xxvi-a-settings-introduce-43.jpg) +![常用设置](images/xxvi-a-settings-introduce-41.gif) -> * 默认 IntelliJ IDEA 是没有开启自动帮你生成 serialVersionUID 的,需要我们自行设置。 -> * 如上图第一张,需要先勾选:`Serializable class without serialVersionUID` -> * 如上图第二张,在已经继承了 Serializable 接口的类名上,把光标放在类名上(必须这样做),按 `Alt + Enter`,即可提示帮你生成 serialVersionUID 功能。 +- 如上图 Gif 所示,这是一个 Maven 多模块项目,在开发多模块的时候,经常会改到其他模块的代码,而模块与模块之间是相互依赖,如果不进行 install 就没办法使用到最新的依赖。 +- 所以,为了减少自己手动 install 的过程,可以把 install 过程放在项目启动之前,就像 Gif 所示那样。 +---------------------------------------------------------------------------- ![常用设置](images/xxvi-a-settings-introduce-44.gif) -> * 如上图 gif 演示的:Load/Unload Modules 是 2017.2 引入的新特性,对于多模块的项目开发 Unload 部分少用到的模块可以减少计算机 CPU 和内存的消耗。 +- 如上图 gif 演示的:Load/Unload Modules 是 2017.2 引入的新特性,对于多模块的项目开发 Unload 部分少用到的模块可以减少计算机 CPU 和内存的消耗。 -![2017 新特性](images/xxvi-a-settings-introduce-45.jpg) +---------------------------------------------------------------------------- -> * 如上图所示 'Show in Run Dashboard',在 2017.2.3 以后可以统一在一个 Tab 中管理所以模块应用。 -> * 这对于开发分布式系统(Spring Boot / Spring Cloud)来讲非常方便。 +![2017 新特性](images/xxvi-a-settings-introduce-45.jpg) +- 如上图所示 'Show in Run Dashboard',在 2017.2.3 以后可以统一在一个 Tab 中管理全部模块应用。 +- 这对于开发分布式系统(Spring Boot / Spring Cloud)来讲非常方便。 +---------------------------------------------------------------------------- +- 设置鼠标停留展示方法等文档信息(thanks kannad) +- 勾选:Preferences | Editor | General | Show quick documentation on mouse move +---------------------------------------------------------------------------- diff --git a/settings-recommend-introduce.md b/settings-recommend-introduce.md new file mode 100644 index 00000000..b127fae4 --- /dev/null +++ b/settings-recommend-introduce.md @@ -0,0 +1,148 @@ +# IntelliJ IDEA 推荐设置讲解 + +## 说明 + +IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让我们这些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。 + +## 推荐设置 + +![常用设置](images/xxvi-a-settings-introduce-1.jpg) + +- IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。如上图标注 1 所示,默认就是 `First letter` 区分大小写的。 +- 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 `stringBuffer` IntelliJ IDEA 是不会帮我们提示或是代码补充的,但是如果我们输入 `StringBuffer` 就可以进行代码提示和补充。 +- 如果想不区分大小写的话,改为 `None` 选项即可。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-3.jpg) + +- 如上图标注 1 和 2 所示,默认 IntelliJ IDEA 是没有开启自动 import 包的功能。 + - 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化导入的包,比如自动去掉一些没有用到的包。 + - 勾选标注 2 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们导入需要用到的包。但是对于那些同名的包,还是需要手动 `Alt + Enter` 进行导入的,IntelliJ IDEA 目前还无法智能到替我们做判断。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-8.jpg) + +- 如上图标注红圈所示,我们可以对指定代码类型进行默认折叠或是展开的设置,勾选上的表示该类型的代码在文件被打开的时候默认是被折叠的,去掉勾选则反之。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-9.gif) + +- 如上图 Gif 所示,IntelliJ IDEA 支持对代码进行垂直或是水平分组。一般在对大文件进行修改的时候,有些修改内容在文件上面,有些内容在文件下面,如果来回操作可能效率会很低,用此方法就可以好很多。当然了,前提是自己的显示器分辨率要足够高。 +- 如果经常使用分屏,也可以考虑设置快捷键,快捷设置可以查看 [此文章](https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/keymap-introduce.md) + - 垂直分屏快捷键关键字:`Split Vertically` + - 水平分屏快捷键关键字:`Split Horizontally` + +---------------------------------------------------------------------------- + + +![常用设置](images/xxvi-a-settings-introduce-12.gif) + +- 如上图 Gif 所示,在没有对 `Ctrl + D` 快捷键进行修改前,此快捷键将是用来复制并黏贴所选的内容的,但是黏贴的位置是补充在原来的位置后,我个人不喜欢这种风格,我喜欢复制所选的行数完整内容,所以进行了修改,修改后的效果如上图 Gif 演示。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-13.gif) + +- 如上图 Gif 所示,默认 `Ctrl + 空格` 快捷键是基础代码提示、补充快捷键,但是由于我们中文系统基本这个快捷键都被输入法占用了,所以我们发现不管怎么按都是没有提示代码效果的,原因就是在此。我个人建议修改此快捷键为 `Ctrl + 逗号`。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-14.gif) + +- 如上图 Gif 所示,IntelliJ IDEA 14 以后版本默认是不显示内存使用情况的,对于大内存的机器来讲不显示也无所谓,但是如果是内存小的机器最好还是显示下。如上图演示,点击后可以进行部分内存的回收。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-27.gif) + +- 如上图 Gif 所示,我们可以勾选此设置后,增加 `Ctrl + 鼠标滚轮` 快捷键来控制代码字体大小显示。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-29.jpg) + +- 如上图红圈所示,默认 IntelliJ IDEA 是没有勾选 `Show line numbers` 显示行数的,但是我建议一般这个要勾选上。 +- 如上图红圈所示,默认 IntelliJ IDEA 是没有勾选 `Show method separators` 显示方法线的,这种线有助于我们区分开方法,所以也是建议勾选上的。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-38.gif) + +- 默认 IntelliJ IDEA 是有一套自己的 IDE 整体设置的,比如 IDE 设置中我们常修改的:默认编码、编译版本、Maven 本地库路径等等,这些其实是可以避免的。 +- 按正常设置 Project 流程的话,我们在 Project 状态下进行 IDE 设置,这些设置并不会被当做一个标准的 IDE 设置模板保存起来,所以你下次打开一个新的 Project 还是要重新设置的,为了简便操作,你可以按上图 Gif 所示进行设置 `Default Settings,这样下次打开新的 Project 就会以这个 IDE 设置进行。 +- 需要注意的是:设置好配置之后,你需要重启 IntelliJ IDEA,重启之后的 IntelliJ IDEA 重新打开 Project 才能有效果。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-15.jpg) + +- 如上图标注 1 所示,在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高,因为单行会隐藏超过界面部分 Tab,这样找文件不方便。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-16.gif) + +- 如上图 Gif 所示,默认 IntelliJ IDEA 对于 Java 代码的单行注释是把注释的斜杠放在行数的最开头,我个人觉得这样的单行注释非常丑,整个代码风格很难看,所以一般会设置为单行注释的两个斜杠跟随在代码的头部。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-20.gif) + +- 如上图 Gif 所示,对于横向太长的代码我们可以进行软分行查看。软分行引起的分行效果是 IntelliJ IDEA 设置的,本质代码是没有真的分行的。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-19.jpg) + +- 如上图标注 1 所示,勾选此选项后,启动 IntelliJ IDEA 的时候,默认会打开上次使用的项目。如果你只有一个项目的话,该功能还是很好用的,但是如果你有多个项目的话,建议还是关闭,这样启动 IntelliJ IDEA 的时候可以选择最近打开的某个项目。 +- 如上图红圈所示,该选项是设置当我们已经打开一个项目窗口的时候,再打开一个项目窗口的时候是选择怎样的打开方式。 + - `Open project in new window` 每次都使用新窗口打开。 + - `Open project in the same window` 每次都替换当前已打开的项目,这样桌面上就只有一个项目窗口。 + - `Confirm window to open project in` 每次都弹出提示窗口,让我们选择用新窗口打开或是替换当前项目窗口。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-22.jpg) + +- 如上图箭头所示,该设置可以增加打开的文件 Tab 个数,当我们打开的文件超过该个数的时候,早打开的文件会被新打开的替换。 + +---------------------------------------------------------------------------- + +![常用设置](images/xxvi-a-settings-introduce-42.jpg) +![常用设置](images/xxvi-a-settings-introduce-43.jpg) + +- 默认 IntelliJ IDEA 是没有开启自动帮你生成 serialVersionUID 的,需要我们自行设置。 +- 如上图第一张,需要先勾选:`Serializable class without serialVersionUID` +- 如上图第二张,在已经继承了 Serializable 接口的类名上,把光标放在类名上(必须这样做),按 `Alt + Enter`,即可提示帮你生成 serialVersionUID 功能。 + +---------------------------------------------------------------------------- + +![设置默认浏览器](images/xxvi-a-settings-introduce-46.jpg) + +- 如上图所示设置默认浏览器。因为我个人有专属的测试浏览器,所以希望默认从控制台输出的链接是用测试浏览器打开,就可以这样设置。 + +---------------------------------------------------------------------------- + +![配置 Maven](images/xxvi-a-settings-introduce-47.png) + +---------------------------------------------------------------------------- + +![配置 Maven Importing JVM](images/xxvi-a-settings-introduce-48.png) + +---------------------------------------------------------------------------- + +![配置 Maven Runner JVM](images/xxvi-a-settings-introduce-49.png) + +---------------------------------------------------------------------------- + +![配置编译 JVM](images/xxvi-a-settings-introduce-50.png) + +---------------------------------------------------------------------------- + +![配置版本控制目录变更](images/xxvi-a-settings-introduce-51.png) + +---------------------------------------------------------------------------- + diff --git a/theme-settings.md b/theme-settings.md index 38e34426..3d41f9ca 100644 --- a/theme-settings.md +++ b/theme-settings.md @@ -4,7 +4,7 @@ ![主题修改](images/x-a-theme-setting-1.jpg) -> * 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,在 Windows 系统上 IntelliJ IDEA 默认提供的主题有四套:`Darcula`、`IntelliJ`、`Windows`、`Alloy. IDEA Theme`。除了 `Darcula` 是黑色主题,其他三套都是以白色为背景的。 +> * 上图标注 1 所示为 IntelliJ IDEA 修改主题的地方,可以通过打开左上角的File -> Setting。在 Windows 系统上 IntelliJ IDEA 默认提供的主题有四套:`Darcula`、`IntelliJ`、`Windows`、`Alloy. IDEA Theme`。除了 `Darcula` 是黑色主题,其他三套都是以白色为背景的。 > * 其他操作系统上不一定会也有四套主题的,主题的选择上大家根据自己喜好即可。改变主题需要重启 IntelliJ IDEA 方可看到效果。 ## 字体修改 diff --git a/ubuntu-install.md b/ubuntu-install.md index cc49d22d..904b58ac 100644 --- a/ubuntu-install.md +++ b/ubuntu-install.md @@ -7,7 +7,7 @@ > * 内存:最低要求 1 GB,推荐 2 GB 以上 > * 硬盘:最低要求 2 GB > * 显示器:最低要求 1024 X 768 分辨率 -> * 更多信息可以阅读: +> * 更多信息可以阅读: ## 重要说明 diff --git a/vcs-introduce.md b/vcs-introduce.md index 8570c1a3..ea0199c5 100644 --- a/vcs-introduce.md +++ b/vcs-introduce.md @@ -92,7 +92,7 @@ Git 主要的版本有 1.X、2.X,最新的是 2.X,使用版本随意,但 ![版本控制相关的常用设置说明](images/xvi-f-version-control-system-settings-introduce-1.jpg) > * 如上图标注 1 所示,当前项目使用的版本控制是 `Git`。如果你不愿意这个项目继续使用版本控制可以点击旁边的减号按钮,如果你要切换版本控制,可以点击 `Git`,会出现 IntelliJ IDEA 支持的各种版本控制选择列表,但是我们一般情况下一个项目不会有多个版本控制的。 -> * 如上图标注 2 所示,`Show directories with changed descendants` 表示子目录有文件被修改了,则该文件的所有上层目录都显示版本控制被概念的颜色。默认是不勾选的,我一般建议勾选此功能。 +> * 如上图标注 2 所示,`Show directories with changed descendants` 表示子目录有文件被修改了,则该文件的所有上层目录都显示版本控制被修改的颜色。默认是不勾选的,我一般建议勾选此功能。 ![版本控制相关的常用设置说明](images/xvi-f-version-control-system-settings-introduce-2.jpg) @@ -109,14 +109,14 @@ Git 主要的版本有 1.X、2.X,最新的是 2.X,使用版本随意,但 > * 如上图标注 1 所示,可以在文件上右键进行操作。 > >> * `Show Diff` 当前文件与服务器上该文件通版本的内容进行比较。 ->> * `Move to Another Changelist` 将选中的文件转移到其他的 `Change list` 中。`Change list` 是一个重要的概念,这里需要进行重点说明。很多时候,我们开发一个项目同时并发的任务可能有很多,每个任务涉及到的文件可能都是基于业务来讲的。所以就会存在一个这样的情况:我改了 30 个文件,其中 15 个文件是属于订单问题,剩下 15 个是会员问题,那我希望提交代码的时候是根据业务区分这些文件的,这样我填写 `Commit Message` 是好描述的,同时在文件多的情况下,我也好区分这些要提交的文件业务模块。所以我一般会把属于订单的 15 个文件转移到其他的 `Change list`中,先把专注点集中在 15 个会员问题的文件,先提交会员问题的 `Change list`,然后在提交订单会员的 `Change list`。我个人还有一种用法是把一些文件暂时不提交的文件转移到一个我指定的 `Change list`,等后面我觉得有必要提交了,再做提交操作,这样这些文件就不会干扰我当前修改的文件提交。总结下 `Change list` 的功能就是为了让你更好地管理你的版本控制文件,让你的专注点得到更好的集中,从而提供效率。 +>> * `Move to Another Changelist` 将选中的文件转移到其他的 `Change list` 中。`Change list` 是一个重要的概念,这里需要进行重点说明。很多时候,我们开发一个项目同时并发的任务可能有很多,每个任务涉及到的文件可能都是基于业务来讲的。所以就会存在一个这样的情况:我改了 30 个文件,其中 15 个文件是属于订单问题,剩下 15 个是会员问题,那我希望提交代码的时候是根据业务区分这些文件的,这样我填写 `Commit Message` 是好描述的,同时在文件多的情况下,我也好区分这些要提交的文件业务模块。所以我一般会把属于订单的 15 个文件转移到其他的 `Change list`中,先把专注点集中在 15 个会员问题的文件,先提交会员问题的 `Change list`,然后在提交订单会员的 `Change list`。我个人还有一种用法是把一些暂时不提交的文件转移到一个我指定的 `Change list`,等后面我觉得有必要提交了,再做提交操作,这样这些文件就不会干扰我当前修改的文件提交。总结下 `Change list` 的功能就是为了让你更好地管理你的版本控制文件,让你的专注点得到更好的集中,从而提升效率。 >> * `Jump to Source` 打开并跳转到被选中。 -> * 如上图标注 2 所示,可以根据工具栏按钮进行操作,操作的对象会鼠标选中的文件,多选可以按 `Ctrl` 后不放,需要注意的是这个更前面的复选框是没有多大关系的。 +> * 如上图标注 2 所示,可以根据工具栏按钮进行操作,操作的对象为鼠标选中的文件,多选可以按 `Ctrl` 后不放,需要注意的是这个跟前面的复选框是没有多大关系的。 > * 如上图标注 3 所示,可以在提交前自动对被提交的文件进行一些操作事件(该项目使用的 Git,使用其他版本控制可能有些按钮有差异。): > >> * `Reformat code` 格式化代码,如果是 Web 开发建议不要勾选,因为格式化 JSP 类文件,格式化效果不好。如果都是 Java 类则可以安心格式化。 >> * `Rearrange code` 重新编排代码,IntelliJ IDEA 支持各种复杂的编排设置选项,这个会在后面说。设置好了编码功能之后,这里就可以尝试勾选这个进行自动编排。 ->> * `Optimize imports` 优化导入包,会在自动去掉没有使用的包。这个建议都勾选,这个只对 Java 类有作用,所以不用担心有副作用。 +>> * `Optimize imports` 优化导入包,会自动去掉没有使用的包。这个建议都勾选,因其只对 Java 类有作用,所以不用担心有副作用。 >> * `Perform code analysis` 进行代码分析,这个建议不用在提交的时候处理,而是在开发完之后,要专门养成对代码进行分析的习惯。IntelliJ IDEA 集成了代码分析功能。 >> * `Check TODO` 检查代码中的 `TODO`。`TODO` 功能后面也会有章节进行讲解,这里简单介绍:这是一个记录待办事项的功能。 >> * `Cleanup` 清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选(主要针对 SVN,Git 不适用)。 diff --git a/vm-settings.md b/vm-settings.md new file mode 100644 index 00000000..5aa97c81 --- /dev/null +++ b/vm-settings.md @@ -0,0 +1,35 @@ + +## 编译阶段 + +- 路径: `Settings | Build, Execution, Deployment | Compiler > Build Process` +- 以下两个类型选一个: +- Shared build process: 该配置存储到 .idea 的 compiler.xml 文件中,该文件可以提交到 git 方便团队成员公用项目配置(团队成员电脑都不错的情况下可以公用) + - Shared heap size >> 2000 Mbytes + - Shared VM options >> -Xmx3g +- User-local build process: 该配置存储到 .idea 的 workspace.xml 文件中,一般不提交到 git,属于个人配置 + - User-local heap size >> 2000 Mbytes + - User-local VM options >> -Xmx3g + + +## Maven 配置 + +- 路径: `Settings | Build, Execution, Deployment | Build Tools | Maven` + - Thread count 填写你 CPU 中 performance core 的数量 + - macOS 查看核心命令: +``` +system_profiler SPHardwareDataType | grep -i "core" +结果如下,我是 8 个性能核心,所以这里建议填写 8 +Total Number of Cores: 12 (8 performance and 4 efficiency) +``` + +- 路径: `Settings | Build, Execution, Deployment | Build Tools | Maven | Importing` + - `VM options for importer:` 填写 `-Xmx1500m` +- 路径: `Settings | Build, Execution, Deployment | Build Tools | Maven | Runner` + - `VM options: ` 填写 `-Xmx1500m` + + +## Spring Boot 项目运行 + +- 点击右上角运行类的下拉框: `Edit Configurations` +- 在 Run/Debug Configurations 弹出框, 点击 `modify options` 在出现的选项列表中选择: `Add VM Options` +- 这时候 Run/Debug Configurations 界面就多了一个 VM Options 输入框: `Xmx2000m` diff --git a/windows-install.md b/windows-install.md index 5c738a17..ff62f610 100644 --- a/windows-install.md +++ b/windows-install.md @@ -11,7 +11,7 @@ > * 内存:最低要求 1 GB,推荐 2 GB 以上 > * 硬盘:最低要求 2 GB > * 显示器:最低要求 1024 X 768 分辨率 -> * 更多信息可以阅读: +> * 更多信息可以阅读: ## 首次安装