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的界面 ...
随机推荐
- ES6 必须要用的数组Filter() 方法,不要再自己循环遍历了!!!
1,来一个最简单最常用的栗子: 获得年龄为9岁的孩子 1 let arr = [ 2 { 3 name:'小明', 4 sex:0, 5 age:9 6 }, 7 { 8 name:'小红', 9 s ...
- ES6之Set与Map加深理解
Set 类似于数组,但是成员的值都是唯一的,没有重复的值,有序. Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化. 用途 数组去重: [...new ...
- JSP 隐式对象
一. 隐式对象 JSP隐式对象 对象 类型 request javax.servlet.http.HttpServletRequest response javax.servlet.http.Http ...
- cf1140E 回文串+染色方案dp
有点硬核的dp..要用到一个结论.. /* 把原串拆成奇偶串,再拆成极大连续的-1串:该串两端都是非-1数,中间都是-1,并且下标要么都是偶数,要么都是技术 然后对所有这些串进行dp,dp[i][0] ...
- hiho1460 rmq模板题
好久没做rmq的题了,今天写了一遍,感觉打表有点像区间dp /* 给定长为n的字符串,要求在字符串中选择k个字符, 选择的子系列字典序最小 因为选择k个字符,那么就是去掉n-k个字符 那么[1,n-k ...
- Mysql 查看连接数,状态 最大并发数
show status like '%max_connections%'; ##mysql最大连接数set global max_connections=1000 ##重新设置show variabl ...
- Android SQLite用法
1.创建SQLite数据库 需要自己创建一个类来继承SQLiteOpenHelper类 SQLiteOpenHelper类是一个创建SQLite数据库的辅助类 继承此类的时候需要重写三个方法 publ ...
- 步步为营-90-SEO(url重写+超链接技巧)
目的:便于搜索引擎抓取 url重写:将带参数的url如:https://i.cnblogs.com/EditPosts.aspx?opt=1.修改为https://i.cnblogs.com/Edit ...
- salt上编写了备份日志的脚本
我在salt上编写了备份日志的脚本,在/opt/CardServer下的主程序目录只保留当天的日志,/opt/log_del目录会保存7天的日志.salt * state.sls script.log ...
- 编写UEditor插件
UE.registerUI('beijing', function (editor, uiName) { // 注册按钮执行时的command命令 editor.registerCommand(uiN ...