You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中为Java程序添加Javadoc的正则缩进修正方案

解决VSCode正则生成JavaDoc模板的缩进对齐问题

我在VSCode中用正则给Java代码加Javadoc模板,原查找正则为(^[\s]*.*\{|^[\s]*.*@.*$),替换内容是/***/$1。虽然能匹配目标行,但生成的/***/模板没和下方代码对齐,需要调整正则实现精准缩进。

输入代码

public class Main {

    class innerClass {

        int a;
        int b;

        @Override
        private int goo() {

        }
    }

    String a;

    public static void main (String[] args) {
        // blablabla
    }

    @Override
    public int foo(int a) {

    }
}

当前输出(缩进错误)

/***/
public class Main {
/***/
    class innerClass {

        int a;
        int b;
/***/
        @Override
        private int goo() {

        }
    }

    String a;
/***/
    public static void main (String[] args) {
        // blablabla
    }
/***/
    @Override
    public int foo(int a) {

    }
}

期望输出(缩进对齐)

/***/
public class Main {
    /***/
    class innerClass {

        int a;
        int b;
        /***/
        @Override
        private int goo() {

        }
    }

    String a;
    /***/
    public static void main (String[] args) {
        // blablabla
    }
    /***/
    @Override
    public int foo(int a) {

    }
}

解决方案

修改后的正则配置

  • 查找正则:^(\s*)(.*\{|.*@.*$)
  • 替换内容:$1/***/\n$1$2

原理说明

  • 把原正则拆分为两个捕获组:^(\s*)专门捕获目标行开头的所有空白缩进,(.*\{|.*@.*$)捕获需要添加模板的目标行内容(类定义、方法定义、注解行)。
  • 替换时先输出$1/***/,让/***/继承目标行的缩进;再换行输出原目标行的完整内容$1$2,保留原代码的结构和缩进。

内容的提问来源于stack exchange,提问作者kesarling

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:39:56