Java 自动向Netbeans中自动插入的大括号追加注释

Java 自动向Netbeans中自动插入的大括号追加注释,java,templates,netbeans,coding-style,autocomplete,Java,Templates,Netbeans,Coding Style,Autocomplete,我真的很欣赏NetBeans如何自动在我正在编写的代码中输入结束括号。它是否有可能进一步简化代码的开发,就像这样 public class Test { public static void main(String[] Args) { //Some code here while(true) { //Some more code here }//end while }//end

我真的很欣赏NetBeans如何自动在我正在编写的代码中输入结束括号。它是否有可能进一步简化代码的开发,就像这样

public class Test
{
    public static void main(String[] Args)
    {
        //Some code here

        while(true)
        {
            //Some more code here

        }//end while

    }//end main
}//end class

不幸的是,当NetBeans添加结束括号时,似乎没有办法自定义生成的内容:在工具->选项->编辑器->代码完成中,只有一个复选框用于确定是否这样做

下面是下一个最佳解决方案:

NetBeans的特点是“代码模板”,它是预定义代码的片段,当您键入一些预定义的缩写,然后点击tab键时,会自动生成这些代码片段。例如,如果键入
if
并点击tab,编辑器应生成以下代码:

if (true) {

}
您可以根据需要修改这些代码模板,也可以创建自己的新模板。转到工具->选项->编辑器->代码模板。您将看到一个广泛的模板列表,每个模板都匹配一个缩写,以及一个用于更改它们的小编辑框。如果向下滚动至“如果”,您将看到以下定义:

if (${EXP instanceof="boolean" default="true"}) {
   ${selection}${cursor}
}
您需要做的就是修改它以生成您想要的:

if (${EXP instanceof="boolean" default="true"}) {
   ${selection}${cursor}
}//end if
您可以对其他语句执行类似的操作,例如
while
。您会注意到,基于不同的模式,每个语句通常有多个模板,因此这可能会变得单调乏味,这取决于您希望的彻底程度

此解决方案也适用于
main
方法,因为有一个为其定义的模板-键入
psvm
,并通过选项卡生成它。对于其他任意方法,有一个缩写为
m
的模板

对于顶级班级来说,实现这种效果是不同的。转到工具->模板。在这里,您将看到另一组可供探索和修改的模板。不同之处在于,它们用于文件而不是代码段。展开Java并打开Java类模板文件。您将看到以下内容:

<#assign licenseFirst = "/*">
<#assign licensePrefix = " * ">
<#assign licenseLast = " */">
<#include "../Licenses/license-${project.license}.txt">

<#if package?? && package != "">
package ${package};

</#if>
/**
 *
 * @author ${user}
 */
public class ${name} {

}
甚至:

public class ${name} {

}//end {$name}

这将为一个名为
Foo

的类设置
//end Foo
,我认为这是我最好的选择。非常感谢你!
public class ${name} {

}//end {$name}