0

将多行注释(例如,每行由换行符分隔的 JSDoc)转换为没有任何换行符的段落的简单方法是什么,我可以将其复制到电子邮件或其他文档中?

我知道我可以使用正则表达式进行搜索和替换,但是有没有更符合人体工程学的方法呢?

4

2 回答 2

1

您可能知道可以使用多个光标一次更改多行,但您知道您还可以使用它们来删除换行符吗?假设您从以下评论开始:

  /**
   * Returns a new `Temporal.LocalDateTime` instance representing the first
   * valid time during the current calendar day and time zone of `this`.
   *
   * The local time of the result is almost always `00:00`, but in rare cases it
   * could be a later time e.g. if DST starts at midnight in a time zone. For
   * example:
   * ```
   * const ldt = Temporal.LocalDateTime.from('2015-10-18T12:00-02:00[America/Sao_Paulo]');
   * ldt.startOfDay; // => 2015-10-18T01:00-02:00[America/Sao_Paulo]
   * ```
   */

第一部分:使用多个游标删除每行的前缀字符。

  • 单击评论的左上角 (the /**)。
  • 现在按住 Cmd+Shift(PC 上的 Alt+Shift)并单击 */注释部分最后一行的后面。
  • 这将创建一个列式多行选择,其中包括每行上的非文本前缀字符。如果选择不包括所有前缀字符,您可以按住 Shift 键并使用向左或向右箭头键调整选择的宽度。
  • 按 Delete 键删除所有行上的前缀字符。

第二部分:是时候删除换行符并用空格替换它们了。我今天发现你也可以在这部分使用多个游标!

  • 在您删除上面的前缀文本之后,但在您按下任何其他键之前,请按退格键。它将删除换行符,但将每个光标留在同一位置!
  • 键入一次空格键以插入一个空格来替换每个换行符。
  • 按 ESC 清除多项选择,并删除行首的多余空格。您可能在行尾也有可能需要修剪的额外空格。
  • 复制生成的单行文本。
  • 使用 Cmd+Z(在 Windows 上为 Ctrl+Z)撤消最后的一些更改,这样您的代码注释将恢复正常。
  • 现在您可以将复制的文本粘贴到电子邮件中!

相同的解决方案可以在任何多行文本中用空格替换换行符,而不仅仅是代码注释。

我相信你们中的许多人已经知道如何做这个技巧,但我发现它是如此简单和酷,以至于我认为值得在这里作为问答分享,以便其他人也可以了解这个技巧。

以下是 VSCode IDE 中的步骤:

在删除之前,您应该会看到如下内容: 在此处输入图像描述

删除前缀字符后: 在此处输入图像描述

删除换行符后(注意多个光标仍然存在): 在此处输入图像描述

插入空格代替已删除的换行符后: 在此处输入图像描述

于 2020-09-16T22:25:36.830 回答
0

我通常选择第一个换行符,然后command+D反复按/按住以在我要编辑的所有行尾添加光标。然后,只需点击空间一次。

于 2020-09-17T00:56:14.837 回答