十个IntelliJ IDEA快捷键和示例,代码多行编辑更高效

开发 前端
在深入学习之前,你需要先熟悉各类快捷键及其使用方法。本文所提及的快捷键是基于 Mac 系统的,如果使用 Windows 系统,可以通过这张快捷键对照表查找对应的快捷键。

在日常编写代码过程中,高效的输入对于提升效率有决定性意义。IntelliJ 系列 IDE 提供多光标功能及丰富快捷键,能极大提升效率。本文为你详细介绍多光标功能及与之配合使用的一系列实用快捷键,助你轻松开启高效编程之旅。

1.相关实用快捷键

在深入学习之前,你需要先熟悉各类快捷键及其使用方法。本文所提及的快捷键是基于 Mac 系统的,如果使用 Windows 系统,可以通过这张快捷键对照表查找对应的快捷键。如有不熟悉 Mac 系统按键的用户,以下是一些说明:

  • ⌘ 表示 Command 键;
  • ⌥ 表示 Option 键;
  • ⌃ 表示 Control 键;
  • ⇧ 表示 Shift 键。

文章以 IntelliJ IDEA 为例展开介绍,不过,这些快捷键在 IntelliJ 系列的其他 IDE(如 Android Studio、Webstorm、PyCharm 等)中也同样适用。

1.1 拖动创建多光标(按住⌥键,左键点击并拖动)

若要创建多个光标,可先按住⌥键,在你希望第一个光标出现的第一行任意位置点击,然后垂直向下拖动鼠标。在此过程中,如果同时水平移动鼠标,则会执行选择操作。

拖动多个光标(按住⌥,左键单击,拖动)拖动多个光标(按住⌥,左键单击,拖动)

若想在每行末尾放置光标,可在离每行末尾稍远的位置开始点击并拖动鼠标。

在每行末尾拖动多个光标

此外,按住鼠标滚轮点击也能实现相同效果。

1.2 选择下一处匹配项(⌃ G)

你选中某个单词或语法的任意部分,然后按下⌃ G 键,即可选中下一处匹配的内容。持续按下⌃ G 键,直至选中你所需的全部内容。随后开始输入,此时你便能同时编辑多行内容啦。

图片图片

那么,此功能与 “重命名” 功能有何区别呢?“重命名” 功能仅适用于类名、函数名或变量名。

此功能又和 “查找和替换” 功能的差异在哪里呢?“查找和替换” 操作需要更多的点击操作,并且难以清晰地看到要替换的内容。而使用该快捷键时,你可以查看要编辑的内容,同时会在每个匹配项处创建一个光标。

1.3 取消选择上一处匹配项(⌃ ⇧ G)

当选中的匹配项意外延伸到下一处时,你可以按下⌃ ⇧ G取消选择上一处,而不用重新操作一遍。

图片图片

1.4 选择所有匹配项(⌃ ⌘ G)

若你想选中文件中的所有匹配项,按下⌃ ⌘ G键即可。这相当于在文件中进行 “全部查找”,而且会在每个匹配项处生成一个光标。

图片图片

1.5 扩大或缩小选择范围(⌥ ↑ 或 ⌥ ↓)

这是一个容易被忽视的命令。当你想选中括号或引号之间的内容时,通常需要仔细控制鼠标指针的位置和移动。

更快的方法是使用扩大选择范围功能。将光标放在括号内的任意位置,按下⌥ ↑ 。如果选择范围过大,按下⌥ ↓ 可以撤销扩大操作。

图片图片

1.6 切换大小写(⌘ ⇧ U)

选中你想转换为全部大写或全部小写的语法内容,然后按下⌘ ⇧ U,就能在大小写之间切换。

图片图片

1.7 复制行(⌘ D)

将光标放在任意一行的任意位置,按下⌘ D。新复制的行会插入到原行的正下方。你也可以选中多行来复制多行内容。

图片图片

1.8 移动到句子开头或结尾(⌘ ← 或 ⌘ →)

这是Mac系统的快捷键。IntelliJ系列的IDE不会把句子开头的缩进计算在内,所以你可以先移动到句子开头,然后按住⇧键,再移动到句子结尾(⌘ ← ,⇧ ⌘ →),这样就能快速选中整行内容。

图片图片

1.9 按单词移动(⌥ → 或 ⌥ ←)

这是另一个Mac系统的快捷键。如果你完全不想使用鼠标,只需按住⌥键,同时按下→ 或 ← 键,即可更快速地移动光标。

图片图片

2.实际示例

接下来通过四个实际示例来应用上述快捷键。

2.1 将JavaScript代码转换为Java代码

在编程过程中,我们常常需要将代码从一种语言转换为另一种语言。幸运的是,不同语言在语法上或多或少会存在相似之处,这为我们使用快捷键进行代码转换提供了便利。这里我们以常量声明为例,向你展示如何将一段 JavaScript 代码转换为 Java 代码。

下面所示的 JavaScript 代码,其中包含了常量的声明:

export const USERS_FETCH_SUCCESS = 'users_fetch_success';
export const USERS_FETCH_FAILURE = 'users_fetch_failure';
export const USERS_FETCH_LOADING = 'users_fetch_loading';

这段代码使用 export const 关键字来声明常量,常量的值使用单引号括起来。

转换为Java代码:

public static final String USERS_FETCH_SUCCESS = "users_fetch_success";
public static final String USERS_FETCH_FAILURE = "users_fetch_failure";
public static final String USERS_FETCH_LOADING = "users_fetch_loading";

在 Java 中,常量的声明使用 public static final String 关键字,并且常量的值是用双引号括起来的。

那么,如何利用之前介绍的快捷键来完成这个转换过程呢?你可以按照以下步骤操作:

图片图片

- 将JavaScript语法粘贴到你的Java文件中;
- 选中第一行的 `export const`;
- 使用快捷键选中下一处匹配项;
- 输入 `public static final String`进行替换;
- 将光标移动到单引号之间;
- 扩大一次选择范围;
- 按下 `"` 键。IDE很智能,会自动将单引号替换为双引号,从而完成从 JavaScript 到 Java 的部分代码转换。

2.2 删除换行符

把这段代码:

List<String> statues = Arrays.asList(
        "New",
        "Waiting for Customer",
        "In progress",
        "Ready for review",
        "Done"
);

转换为:

List<String> statues = Arrays.asList("New", "Waiting for Customer", "In progress", "Ready for review", "Done");

操作步骤如下:

图片图片

- 在每行开头创建多个光标。
- 按下Backspace键删除每行的换行符。
- 最后,稍微调整一下右括号的位置。

2.3 将单词转换为枚举类型

若需要将纯文本形式的状态列表声明为枚举类型时,可以通过以下步骤高效完成转换。例如,将以下状态列表:

New
Waiting for Customer
In progress
Ready for review
Done

转换为 Java 枚举类型:

public enum WorkflowStatus {
    NEW,
    WAITING_FOR_CUSTOMER,
    IN_PROGRESS,
    READY_FOR_REVIEW,
    DONE,
}

操作流程如下: 

图片图片

- 创建一个暂存文件。将这些状态粘贴到暂存文件中。 - 选中第一个空格。选中所有空格匹配项。 - 用下划线 _ 替换空格。 

- 拖动鼠标在每行末尾创建多个光标,然后输入逗号 ,。 - 从每行末尾选到每行开头。- 按下快捷键将状态内容转换为大写。  

-把这些状态复制到你的类中。

如果需要处理 Python 代码,可以使用 JetBrains 插件 String Manipulation(网址是https://plugins.jetbrains.com/plugin/2162-string-manipulation/),该插件提供了更多便捷功能,建议尝试。

2.4 逐行粘贴内容

延续前面的示例,如果需要将原始状态文本作为枚举值的参数,例如:

public enum WorkflowStatus {
    NEW("New"),
    WAITING_FOR_CUSTOMER("Waiting for Customer"),
    IN_PROGRESS("In progress"),
    READY_FOR_REVIEW("Ready for review"),
    DONE("Done"),
    ;

    WorkflowStatus(String value) {
    }
}

操作步骤如下:

图片图片

- 在暂存文件中,在每行末尾拖动创建多个光标。
- 从每行末尾选到每行开头。
- 复制或剪切这些行内容。
- 切换到你的枚举类文件。
- 选中第一个逗号。
- 选中下一处逗号匹配项,直到选中所有逗号。
- 按下← 键取消选择,并将光标移到逗号左边。
- 输入左括号 `(`,IDE会自动添加右括号。
- 输入双引号 `"`,IDE会自动添加另一个双引号。
- 逐行粘贴内容。搞定!
- 根据实际使用场景,简单修改一下枚举构造函数即可。

注意: 此方法仅在源文件和目标文件行数一致时有效,否则可能导致内容错位。

3.三个实用技巧 

3.1 创建暂存文件

暂存文件是一种临时文件,可用于快速输入或粘贴内容,方便临时存储和编辑信息。

图片图片

创建暂存文件的快捷键是 ⌘⇧N。

3.2 Presentation Assistant插件

Presentation Assistant 是非常实用的 IntelliJ 插件,它能够实时显示你正在使用的快捷键,以及对应的 Windows 系统快捷键。

它主要用于现场编码演示,帮助观众了解你使用的快捷键,同时在结对编程时,你也可以使用这个插件,这样你的伙伴就能从你这里学到很多快捷键。

下载链接:https://plugins.jetbrains.com/plugin/7345-presentation-assistant-for-2023-2/

图片图片

3.3 暗紫色主题

为你的 IDE 换上不同的颜色主题,可以增添编程的乐趣。

例如,本文中使用的暗紫色主题,不仅美观,还能缓解视觉疲劳。

下载链接:https://plugins.jetbrains.com/plugin/12100-dark-purple-theme

责任编辑:武晓燕 来源: Java学研大本营
相关推荐

2024-02-28 18:01:20

IDEAIDEtry

2024-02-02 18:14:17

IDEA插件开发

2023-10-07 16:28:01

2010-06-30 16:35:05

Ubuntu快捷键

2023-11-20 18:20:00

开发插件

2023-11-22 18:04:50

快捷键• macOS

2017-12-14 14:19:52

IntellijIDEA快捷键

2023-10-27 18:13:01

语句代码列表

2023-07-08 23:02:14

快捷键IntelliJIDEA

2023-05-14 22:55:00

插件IntelliJIDEA

2023-10-04 19:38:01

插件主题IntelliJ

2023-07-26 00:49:05

Alt搜索箭头键

2011-03-03 09:12:24

Chrome快捷键

2024-12-27 08:14:28

2023-12-18 18:01:25

快捷键CI鼠标

2023-07-06 14:37:05

2024-12-16 18:03:44

IDEA插件Java

2012-11-08 09:37:45

代码编程语言

2023-09-21 22:56:32

插件开发

2023-10-11 16:12:07

点赞
收藏

51CTO技术栈公众号