专栏首页熊二哥IDEA快速入门(Mac版)

IDEA快速入门(Mac版)

【持续更新】一篇今年年头的老文章顺道发布了,大家有任何问题可以留言沟通。当时刚刚加入团团,愿大家有机会还是购买一台MAC,确实能给大家的效率赋能,虽然在一开始会有一些艰难!⛽️ 望借着换工作的东风,好好的俊一波IDEA,之前始终习惯于Eclipse的使用。

使用事项

界面

  1. IntelliJ IDEA 默认界面是隐藏掉 Toolbar 和 Tool Buttons,在View菜单中点选。注意通过Window->Save Current Layout避免每次都需要重新设置界面。
  2. 注意整体主题和编辑主题是分开的,代码字体和Console字体都要选择适用中文的
  3. IDE编码默认是UTF-8,还需要将Project Encoding设置为UTF-8,Properties中勾选Transparent native-to-ascii conversion
  4. 如果你的 Tomcat 控制台输出乱码,并且你已经保证了本文上面的控制台字体设置你设置的字体包含中文,那你还可以尝试下在 Tomcat 的 VM 参数上加上:-Dfile.encoding=UTF-8 如果你是 Mac 系统,很有可能是需要的,通过工具集->字体册->添加字体添加。
  1. IntelliJ IDEA 缓存和索引介绍和清理方法, File->Invalidate Caches / Restart..
  2. 相比于Eclipse的实时自动编译,IDEA更习惯手动编译降低资源消耗。其编译方式包括:Compile编译指定类文件,不管是够修购;Rebuild编译Project所有文件,效率最低;Make推荐使用,只编译修改过的文件提高效率,适合大型项目。
  3. Maven配置,一图胜千言吧,一定主要注意的是,给maven建立好良好的结构,便于管理使用。对于不同的远程maven仓库,一定要设置做好相应的配置,包括不同的环境。
  1. 注意配置JDK1.7和1.8,包括Project级别和Platform级别,不同的Module可以选用不同的JDK,比如client一般使用1.7便于兼容,其他使用1.8。
  2. 配置Build -> Compiler,取消自动Build,还可以将Build process heap size增大为1500。(如果编译出现OutOfMemoryError
  3. IDEA中没有类似Eclipse工作区的概念,而是通过Project和Module来管理项目代码。
  4. 在创建包时,需要去除齿轮图标中的Compact Empty Middle Packages,不然空包被隐藏很尴尬,过去深受其困扰。
  5. 代码管理工具集成,对GIT的支持很棒,具体的分支方案根据各自团队要求即可。
  6. 实时代码模板Live Template,和Eclipse有些差别,sysout->soutp,可以根据习惯自定义。文件代码模板file and code template,预设模板内容很多,需要时再仔细处理即可。此外还有更加方便的Postfix Completion来快速完成代码,比如notnull来自动生成判空语句。
  7. 插件安装,常见的包括lombok去除冗长代码 , Junit Generator, Alibaba Java Coding Guidelines, Sonar等。
  8. 如果打开maven项目看不到Package包图的情况,直接删除.idea目录后重新打开即可。
  9. IDEA目录类型,包括Sources, Tests, Resources, Test Resources和Excluded(排除项目)。
  10. 在Web相关项目时,需要注意一个Artifacts概念,Java Web项目必备一个配置就是war包展开的方式,一般选择war exploded
  11. Tomcat VM参数设置,-Xms550m -Xmx1250m -XX:PermSize=550m -XX:MaxPermSize=1250m
  12. 如下图在Auto import中设置自动导包和自动去除无用包,之前深受其困扰。
  1. 设置方法分割线,在Editor->Apperance->勾选Show method seperator
  2. 文件可以通过localHistory查找本地更改, 避免信息丢失。
  3. 修改`Editor Tabs的show tabs in single row选项来显示多个tab页面。
  4. 注释配置,CodeStyle->Java->取消勾选Line comment at first column
  5. 设置System settings->open project in new window,避免每次都需要选择。
  6. 长语句可以通过在行号上右键,选择软分行增强可读性。

官方文档

快捷键

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仓库

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MacBook快速入门

    入职新美大,全面进入Mac工作环境,果断“撸起袖子加油干”,“浪起来,逼格提起来”。顺道提一嘴,这边的兄弟们的干劲是真心足,作为一名老兵痞,必须要虚心向身边NX...

    用户1216676
  • 移动前端技术快速入门

    2016乌镇互联网会议上,李彦宏大大说"移动互联网时代已经结束",小马哥也持有类似观点。不过这都是大牛的事,对于菜菜的俺来说,落后一个时代远比两个时代好的多,称...

    用户1216676
  • ASPNET_WEBAPI快速学习02

    这部分内容的学习,已经放了大半年时间了,果断补充上,尽早将过去遗留的老技术坑都补上。首先将介绍服务幂等性的概念和相关解决方案,这部分也将是本文的理解难点,由于W...

    用户1216676
  • Mac 常用快捷键

    Mac 电脑一般都不怎么用鼠标,因此其触摸屏有丰富的单指、双指、三指甚至四指的操作之外,再加上众多的快捷键,足以应对日常操作。

    Dabelv
  • Mac常用快捷键

    剑行者
  • intellij idea 常用快捷键mac版

    login.jsp文件中的html标签都是大写格式的,看着很不舒服,就改了一下,全部用的快捷键修改成小写的,也因此整理了一下常用的快捷键。 shift + Co...

    我是十三
  • Mac和Xcode常用的快捷键

    Mac电脑一般都不怎么用鼠标,因此除了触摸屏的各种双指、三指甚至四指的操作之外,快捷键的使用可以带来非常大的便利,本文则主要收集整理了自己在Mac常规和Xcod...

    mukekeheart
  • 命令模式

    一、简介 1、命令模式将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 2、命令模式中的几个...

    用户1215536
  • [译]Laravel 5.0 之命令及处理程序

    本文译自 Matt Stauffer 的系列文章. ---- 本文中涉及的新功能都是关于 Commands 的,这些特性在 Laravel 旧版本中已经有了,但...

    小李刀刀
  • Spring-boot特性(2) 原

    在使用Spring-boot时,永远要记住它仅仅是Spring Framework的延伸(或者说整合),其底层还是基于Spring Framework(core...

    随风溜达的向日葵

扫码关注云+社区

领取腾讯云代金券