编程的快速辅助工具合集介绍

90 阅读3分钟

你在编码时花了太多时间执行重复的任务吗?如果是,那么我有一些好消息要告诉你。许多重复性的任务可以通过我们称之为快速辅助的功能来自动执行。

快速辅助是一种自动编辑,目的是对代码进行常见的改变。与快速修复不同,我们在分析问题的快速修复批量应用修复中看过,快速协助的存在并不是建议你去改变你的代码,它只是为了让你的工作更容易。

让我们来看看几个例子。

声明局部变量

你可能花了相当多的时间来声明和初始化局部变量。这些工具可以帮助你解决一些问题。如果你输入了初始化表达式,那么你可以使用快速辅助工具来创建一个局部变量来捕获表达式的值。

如果你从下面的代码开始,把光标放在表达式的任何地方,那么灯泡图标就会出现在编辑器的左边缘附近。如果你把鼠标悬停在它上面,你就可以点击打开一个包含可用快速辅助工具的菜单。

Visual Studio代码

IntelliJ IDEA

选择辅助工具插入一个变量声明,使用表达式作为初始化器,并选择变量的名称,这样你就可以选择建议的名称之一或输入你自己的名称。

Visual Studio Code

IntelliJ IDEA

按回车/回车键接受输入的名称。

函数主体样式

如果你经常使用表达式结构的函数,那么你可能需要在某些时候将一个函数转换为块结构的函数。这方面也有一个辅助工具。例如,如果你有下面这样的代码,你把光标放在箭头内,你会看到以下选项。

Visual Studio Code

IntelliJ IDEA

选择 "转换为块状体 "可以将函数体改写成这样。

Visual Studio Code

IntelliJ IDEA

而且,是的,还有一个辅助功能,可以将块状体转换为表达式体。

重写if语句

辅助工具也可以帮助进行更大的重组。如果你曾经写过这样的代码结构。

void f(int a, int b, int c, int d) {
  if (a == b) {
    if (a == c || a == d) {
      print(0);
    }
  }
}

并意识到你可以合并两个条件,有一个辅助工具可以实现。把光标放在内部if上,然后打开菜单。

Visual Studio Code

IntelliJ IDEA

选择 "将'if'语句与外部'if'语句连接起来",可以将代码改写成这样。

void f(int a, int b, int c, int d) {
  if (a == b && (a == c || a == d)) {
    print(0);
  }
}

如果你把光标放在外部if上,辅助功能也会显示出来,不过菜单上的内容是 "用内部if语句连接'if'语句"。

使用较新的语言特性

还有一些辅助工具可以帮助你转换到较新的语言特性。例如,如果你有一个这样的类。

class A {
  A({int? x, int? y});
}
class B extends A {
  B({int? x, int? y}) : super(x: x, y: y);
}

其中子类中的构造函数将一些参数传递给超类而不对其进行修改,有一种更简洁的方法来编写代码。把光标放在构造函数B的名称上,打开菜单。

Visual Studio代码

IntelliJ IDEA

选择 "转换为使用超类参数",将代码改写成这样。

Visual Studio Code

IntelliJ IDEA

可用的辅助工具比我们在一篇文章中所能涵盖的更多。下次当你发现自己要执行一个你经常做的编辑时,请检查一下上下文动作,看看是否有一个辅助工具可以使任务更容易。