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的界面 ...
随机推荐
- conda 安装多个版本的python
再添加一个python3.6conda create --name py36 python=3.6然后通过source activate py36来激活环境
- LeetCode(81): 搜索旋转排序数组 II
Medium! 题目描述: 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] ). 编写一个函数来判断给 ...
- html5 drag 文件拖拽浅淡
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Decimal integer conversion
问题 : Decimal integer conversion 时间限制: 1 Sec 内存限制: 128 MB 题目描述 XiaoMing likes mathematics, and he is ...
- Python中pass的用法、作用
pass主要作用就是占位,让代码整体完整.如果定义一个函数里面为空或一个判断写好了之后还没想好满足条件需要执行执行什么逻辑,又想留着后面使用,但是函数和判断里面为空,那么就会报错,当你还没想清楚函数内 ...
- C++11新特性--decltype (转)
返回值 decltype(表达式) [返回值的类型是表达式参数的类型] 这个可也用来决定表达式的类型,就像Bjarne暗示的一样,如果我们需要去初始化某种类型的变量,auto是最简单的选择,但是如果我 ...
- mysql 查看某个数据库中所有表的数据量
1.登录mysql 2.使用命令:use information_schema; 3.使用命令:select table_name,table_rows from tables where TABLE ...
- Oracle logminer 日志挖掘
Table of Contents 1. LOGMNR简介 2. 创建数据字典 2.1. 外部文件存储数据字典 2.2. redo log 存储数据字典 3. 添加需要分析的文件 4. 开始分析文件 ...
- 论文阅读笔记二十七:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(CVPR 2016)
论文源址:https://arxiv.org/abs/1506.01497 tensorflow代码:https://github.com/endernewton/tf-faster-rcnn 室友对 ...
- iptables-snat-dnat-设置
nat internet iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth1 -j SNAT --to-source ...