IDEA快速入门(Mac版)
【持续更新】一篇今年年头的老文章顺道发布了,大家有任何问题可以留言沟通。当时刚刚加入团团,愿大家有机会还是购买一台MAC,确实能给大家的效率赋能,虽然在一开始会有一些艰难!⛽️
望借着换工作的东风,好好的俊一波IDEA,之前始终习惯于Eclipse的使用。
使用事项
界面
- IntelliJ IDEA 默认界面是隐藏掉 Toolbar 和 Tool Buttons,在
View菜单中点选。注意通过Window->Save Current Layout避免每次都需要重新设置界面。 - 注意整体主题和编辑主题是分开的,代码字体和Console字体都要选择适用中文的
- IDE编码默认是UTF-8,还需要将Project Encoding设置为UTF-8,Properties中勾选
Transparent native-to-ascii conversion - 如果你的 Tomcat 控制台输出乱码,并且你已经保证了本文上面的控制台字体设置你设置的字体包含中文,那你还可以尝试下在 Tomcat 的 VM 参数上加上:
-Dfile.encoding=UTF-8
如果你是 Mac 系统,很有可能是需要的,通过工具集->字体册->添加字体添加。

- IntelliJ IDEA 缓存和索引介绍和清理方法,
File->Invalidate Caches / Restart.. - 相比于Eclipse的实时自动编译,IDEA更习惯手动编译降低资源消耗。其编译方式包括:
Compile编译指定类文件,不管是够修购;Rebuild编译Project所有文件,效率最低;Make推荐使用,只编译修改过的文件提高效率,适合大型项目。 - Maven配置,一图胜千言吧,一定主要注意的是,给maven建立好良好的结构,便于管理使用。对于不同的远程maven仓库,一定要设置做好相应的配置,包括不同的环境。

- 注意配置JDK1.7和1.8,包括Project级别和Platform级别,不同的Module可以选用不同的JDK,比如client一般使用1.7便于兼容,其他使用1.8。
- 配置
Build -> Compiler,取消自动Build,还可以将Build process heap size增大为1500。(如果编译出现OutOfMemoryError) - IDEA中没有类似Eclipse工作区的概念,而是通过Project和Module来管理项目代码。
- 在创建包时,需要去除
齿轮图标中的Compact Empty Middle Packages,不然空包被隐藏很尴尬,过去深受其困扰。 - 代码管理工具集成,对GIT的支持很棒,具体的分支方案根据各自团队要求即可。
- 实时代码模板
Live Template,和Eclipse有些差别,sysout->soutp,可以根据习惯自定义。文件代码模板file and code template,预设模板内容很多,需要时再仔细处理即可。此外还有更加方便的Postfix Completion来快速完成代码,比如notnull来自动生成判空语句。 - 插件安装,常见的包括lombok去除冗长代码 , Junit Generator, Alibaba Java Coding Guidelines, Sonar等。
- 如果打开maven项目看不到Package包图的情况,直接删除.idea目录后重新打开即可。
- IDEA目录类型,包括Sources, Tests, Resources, Test Resources和Excluded(排除项目)。
- 在Web相关项目时,需要注意一个Artifacts概念,Java Web项目必备一个配置就是war包展开的方式,一般选择
war exploded。 - Tomcat VM参数设置,
-Xms550m -Xmx1250m -XX:PermSize=550m -XX:MaxPermSize=1250m - 如下图在
Auto import中设置自动导包和自动去除无用包,之前深受其困扰。

- 设置方法分割线,在
Editor->Apperance->勾选Show method seperator。 - 文件可以通过
localHistory查找本地更改, 避免信息丢失。 - 修改`
Editor Tabs的show tabs in single row选项来显示多个tab页面。 - 注释配置,
CodeStyle->Java->取消勾选Line comment at first column - 设置
System settings->open project in new window,避免每次都需要选择。 - 长语句可以通过在行号上右键,选择软分行增强可读性。
快捷键
| Editing(编辑) |
|---|
| Command + , 系统首选项 |
| Control + Space 基本的代码补全(补全任何类、方法、变量) |
| Control + Shift + Space 智能代码补全(过滤器方法列表和变量的预期类型) |
| Command + Shift + Enter 自动结束代码,行末自动添加分号 |
| Control + O 覆盖方法(重写父类方法) |
| Control + I 实现方法(实现接口中的方法) |
| Command + Option + T 包围代码(使用if..else, try..catch, for, synchronized等包围选中的代码) |
| Command + / 注释/取消注释与行注释 |
| Command + Option + / 注释/取消注释与块注释 |
| Command + Option + L 格式化代码 |
| Control + Option + O 优化import |
| Option + 方向键上 连续选中代码块 |
| Option + Delete 删除到单词的开头 |
| Shift + Enter 开始新的一行 |
| Command + Delete 删除当前行或选定的块的行 |
| Search/Replace(查询/替换) |
| Double Shift 查询任何东西 |
| Command + F 文件内查找 |
| Control + Shift + F 全局查找(根据路径) |
| Live Templates(动态代码模板) |
| Command + Option + J 弹出模板选择窗口,将选定的代码使用动态模板包住 |
| Command + J 插入自定义动态代码模板 |
参考资料
推荐极客学院的相关教程IntelliJ IDEA使用教程
intellij idea如何学习?
IntelliJ IDEA使用教程
为何 IntelliJ IDEA 比 Eclipse 更适合于专业java开发者
IDEA Community(社区版) 使用Maven创建Web工程 并部署tomcat
Intellij IDEA 提交代码到远程GitHub仓库
IDEA快速入门(Mac版)的更多相关文章
- IntellijIDEA快速入门(Windows版)
跟随公司变更技术堆栈的步伐,开始学习相应工具IntelliJ的使用,之前一个大神同时也提到,最近该IDE的市场份额已然超越了免费的Eclipse,因此该工具已经到了必须会的程度了. 新年快乐,鸡年大吉 ...
- Maven快速入门--Idea版
目录 1.web项目的基本知识 1.1 项目构建 1.1.1传统的构建过程如下: 1.1.2 mavn构建项目 1.2 maven构建项目的优点: 2. 依赖管理 2.1 传统依赖管理 2.1.1 手 ...
- 数据分析师入门|Python安装MAC版
最近在学数据分析师入门课,看了大纲,感觉终于不再慌乱踩坑了,开始存档最粗暴版学习笔记,遇到停止的地方按照下文红字直接输入就OK,方便和我一样的小伙伴参考呀,老师讲的很适合我这种初学者,PUSH了很多资 ...
- spring5.02版快速入门
spring5.02版快速入门分为以下 四步, 1. 引入依赖 2. 创建beans.xml配置文件 3 创建相应的接口实现类(仅仅是快速创建,实现类不给任何方法) 4. 创建容器对象,根据id获取对 ...
- 前端学习 node 快速入门 系列 —— 简易版 Apache
其他章节请看: 前端学习 node 快速入门 系列 简易版 Apache 我们用 node 来实现一个简易版的 Apache:提供静态资源访问的能力. 实现 直接上代码. - demo - stati ...
- JavaCPP快速入门(官方demo增强版)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- html5快速入门(四)—— JavaScript
前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...
- 专为设计师而写的GitHub快速入门教程
专为设计师而写的GitHub快速入门教程 来源: 伯乐在线 作者:Kevin Li 原文出处: Kevin Li 在互联网行业工作的想必都多多少少听说过GitHub的大名,除了是最大的开源项目 ...
- Android Studio2.0 教程MAC版 -快捷键篇
本文转至 Android Studio2.0 教程从入门到精通MAC版 - 提高篇 ( OPEN 开发经验库) 第二篇我们开发了一个Hello World应用,并介绍Android Sutdio的界面 ...
随机推荐
- Feign服务消费者
Feign的优点:面向接口,完全不用管实现,传入规定格式的数据就可以了 搭建消费者项目(FeignDemo) 1.创建pom.xml <project xmlns="http://ma ...
- jQuery为div添加select和option
简单描述:用jQuery给页面添加select下拉框,直接上图 总结:清楚明了^_^
- 剑指offer 二叉树中和为某一个值的路径
剑指offer 牛客网 二叉树中和为某一个值的路径 # -*- coding: utf-8 -*- """ Created on Tue Apr 9 15:53:58 2 ...
- Linux----centos安装mysql
第一步wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 第二步rpm -ivh mysql-community-r ...
- Nginx详解二:Nginx基础篇之Nginx的优点
Nginx是一个开源且高性能.可靠的HTTP中间件.代理服务 常见的HTTP服务: HTTPD--Apache基金会 IIIS--微软 GWS--Google(不对外开放) Nginx优势: 一.IO ...
- Loadrunner11.0 录制手机App脚本的方法二
lr11安装一个移动补丁以后,就可以支持抓包文件直接转换为http/html协议的脚本.下面简单说一下过程. 1.工作思路:手机连接可上外网wifi,在手机wifi中设置本机ip的网络地址,然后在本机 ...
- 【专栏学习】APM——异步编程模型(.NET不推荐)
(1)learning hard C#学习笔记 异步1:<learning hard C#学习笔记>读书笔记(20)异步编程 (2)<C# 4.0 图解教程> 22.4 异步编 ...
- C++ 复制构造函数 与 赋值运算符
在C++中,将一个对象赋给另外一个对象,编译器将提供赋值运算符的定义. 有两种情况,下面假设catman是Monster的一个实例 第一种:初始化 Monster golblen= catman; 第 ...
- [转] jQuery的deferred对象详解
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本. 每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. ...
- asp.net core 创建允许跨域请求的api, cors.
配置应用方域名. 在webapi中引用cors包,在startup的Configure\ConfigServices中增加启动项配置,在api中增加EnableCors的Attribute属性.即可. ...