不幸的是,似乎没有一种方法可以自定义 NetBeans 添加右括号时生成的内容:在 Tools->Options->Editor->Code Completion 中只有一个复选框来选择是否执行此操作。
这是下一个最佳解决方案:
NetBeans 具有“代码模板”,它们是预定义代码的 sn-ps,当您键入一些预定义的缩写然后点击选项卡时会自动生成这些代码。例如,如果您输入 if 并点击 tab,您的编辑器应该生成以下代码:
if (true) {
}
您可以根据需要修改这些代码模板或创建自己的新模板。转到工具->选项->编辑器->代码模板。您将看到一个广泛的模板列表,每个模板都匹配一个缩写,以及一个用于更改它们的小编辑框。如果你向下滚动到“if”,你会看到这个定义:
if (${EXP instanceof="boolean" default="true"}) {
${selection}${cursor}
}
您需要做的就是修改它以生成您想要的:
if (${EXP instanceof="boolean" default="true"}) {
${selection}${cursor}
}//end if
您可以对其他语句执行类似的操作,例如 while。您会注意到每个语句通常有多个基于不同模式的模板,因此这可能会变得乏味,具体取决于您想要的彻底程度。
这个解决方案也适用于main 方法,因为有一个为它定义的模板——输入psvm 并通过tab 生成它。对于其他任意方法,有一个缩写为m的模板。
为顶级课程实现这种效果会有所不同。转到工具-> 模板。在这里,您将看到另一组可以探索和修改的模板。不同之处在于这些用于文件而不是代码 sn-ps。展开 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 class
甚至:
public class ${name} {
}//end {$name}
这会将//end Foo 放在名为Foo 的类中