在本文中,我们将介绍MacBook Pro环境下使用IntelliJ IDEA的一些环境设置、快捷键以及代码提示功能。首先,我们需要了解的是,IntelliJ IDEA的磁盘空间需求较大,建议至少128G。内存方面,推荐配置8G以上。

### 前言

在使用IntelliJ IDEA进行编程时,我们可能会遇到一些问题,例如代码补全不及时、查看类层次结构不方便等。本文将针对这些问题提供解决方案。

### 环境设置

#### MacBook Pro

- 磁盘:建议至少128G

- 内存:推荐配置8G以上

### 快捷键设置

#### IntelliJ IDEA基本操作

- 打开文件:`Alt + Option + Space`

- 代码提示:`Control + Space`(基本的代码补全)或`Control + H`(查看类的层次结构或者说实现类)

- 参数自动提示:`Command + P`或`Command + ,`

- HTML格式化:`Command + Option + L`

- 优化import:`Ctrl + Shift + O`

- 多开编辑窗口,自动关闭的问题:暂无解决方法

- 自定义方法注解快捷键:暂无解决方法

- 移动一行代码:`Command + Shift + 上下键`

- 查看类中所有方法:`Command + F12`(即 File Structure)

- 方法文档说明:`Ctrl + j`

### 代码提示功能详解

1. 基本的代码补全(补全任何类、方法、变量):`Control + Space`或`Option + Space`

2. 查看类的层次结构或者说实现类:`Control + H`

3. 参数自动提示:在eclipse中,可以查看重载了几个方法,鼠标放上去也可以看方法说明;查看重载的方法,这个对我而言很有必要,看到网上说“第一次写的时候就会智能提示,所以没必要”,看到这句话,我立马想到的是这个人是个菜鸟;在我们研究技术的时候,你哪里知道方法怎么用,需要用哪个重载方法。我肯定需要不断尝试不断调整的。:`command + P`,然后输入参数名或类型,IntelliJ IDEA会显示可能的参数选项。

4. HTML格式化:`Command + Option + L`

5. 优化import:`Ctrl + Shift + O`,IntelliJ IDEA会自动删除无用的import语句并优化剩余的import语句。

6. 多开编辑窗口,自动关闭的问题:暂无解决方法。

7. 自定义方法注解快捷键:暂无解决方法。

8. 移动一行代码:`Command + Shift + 上下键`。

9. 查看类中所有方法:`Command + F12`,即可查看类的结构。

10. 方法文档说明:点击方法上方的小三角形,即可查看该方法的详细说明。

在编辑器中,我们可以通过以下步骤完成内容重构:

1. 首先设置字体大小,输入“Editor” -> "Font" -> "Size"。

2. 将修改的文件标记为星号,点击“Command + ,”。

3. 点击“Editor” -> “Editor Tabs” -> “Mark modified(*)”以自动保存更改。

4. 在“Appearance & Behavior” -> “System Settings” -> “Synchronization”中勾选“支持自动保存”。

5. 对于字符串换行时加号在前面的需求,可以按下“MacBook”上的“command + ,”。

6. 在“Editor” -> “Code Style” -> “Java”中设置操作签名在下一行显示。

7. 为注释模板添加快捷键,例如“Ctrl + command + O”、“Ctrl + shift + X”、“Ctrl + command + U”、“Ctrl + command + I”、“Ctrl + command + Y”。

8. 双击“Shift”键可以弹出搜索框进行修改。

9. 禁止一些功能,如“Registry”中的“ide.suppress.double.click.handler”,或者通过“Keymapeverywheresearch Everywhere”禁用Git的“Local Changes”。

10. 对于IntelliJ IDEA 2020.3及以上版本,可以在“Version Control”中选择“Commit Use non-modal commit interface”。

11. 在使用多个窗口时,可以使用“Command + option”或“Command + `”激活下一个窗口,或者使用“Command + option + `”切换到另一个窗口。

12. 通过以上步骤,我们可以实现所需的内容重构功能。