IntelliJ:在选定块周围添加格式化程序:关闭/打开注释

Posted

技术标签:

【中文标题】IntelliJ:在选定块周围添加格式化程序:关闭/打开注释【英文标题】:IntelliJ: add formatter:off/on comments around selected block 【发布时间】:2018-06-11 19:18:03 【问题描述】:

在 IntelliJ IDEA(至少对于 Java 代码)中,可以指示代码格式化程序忽略带有这些的行(参见 https://***.com/a/19492318/117750):

// @formatter:off
...
// @formatter:on

我想做的是自动在代码块周围添加这些。我想要的工作流程:

    选择一段代码。 调用操作(使用快捷方式或菜单项等或使用Cmd-Shit-A)。

这个命令需要

// @formatter:off添加到新行在第一行之前,在正确的缩进处。 在新行最后选定的行之后,在正确的缩进处添加// @formatter:on

从我所阅读的内容来看,无法使用宏。是吗?

如果没有,我是否需要编写插件来执行此操作?我很高兴写一个,谁能给我简要的高级入门步骤:

如何在插件中执行此操作 以及插件入门指南

【问题讨论】:

【参考方案1】:

您可以使用实时模板获得(接近)您想要的内容。转到设置中的Editor | Live Templates 并添加一个带有以下文本的新模板(例如,在 surround 组下):

// @formatter:off
$SELECTION$
// @formatter:on

您可以通过在编辑器中选择一些文本并调用 Code | Surround with Live Template... (Ctrl/Cmd+Alt+J) 并选择您创建的实时模板。

【讨论】:

听起来正是我想要的。但是当我选择一段代码并运行此模板时,它会插入 cmets 但会删除原始代码:( 奇怪。是否为您启用了 Edit variables 按钮? 不,不是。但是 $SELECTION$ 被突出显示,表明这是正确的。 在重新启动 IDE 并重现问题后,能否请您分享一下 idea.log(“Help | Show Log in...”)? 运行此步骤时,我没有看到任何添加到日志中。

以上是关于IntelliJ:在选定块周围添加格式化程序:关闭/打开注释的主要内容,如果未能解决你的问题,请参考以下文章

在选定的 html 周围添加标签

R语言ggplot2可视化:在选定数据点周围添加圆圈(Add Circles Around Select Data Points)

R语言ggplot2可视化:在选定数据点周围添加三角形(Add Triangles Around Select Data Points)

sed regexp 在 xml 块周围添加 xml 注释

在记事本++中手动突出显示选定的文本[关闭]

Python - 如何删除选定ListBox项目周围的边框?