我真的很欣赏 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”,您将看到以下定义:
if (${EXP instanceof="boolean" default="true"}) {
${selection}${cursor}
}
您需要做的就是修改它以生成您想要的内容:
if (${EXP instanceof="boolean" default="true"}) {
${selection}${cursor}
}//end if
您可以对其他语句(例如 while
)执行类似的操作。您会注意到,每个语句通常有多个基于不同模式的模板,因此这可能会变得乏味,具体取决于您想要的彻底程度。
此解决方案也适用于 main
方法,因为为其定义了一个模板 - 输入 psvm
并按 Tab 键生成它。对于其他任意方法,有一个带有缩写 m
的模板。
对于顶级类(class)来说,实现这种效果会有所不同。转到工具->模板。在这里您将看到另一组可以探索和修改的模板。不同之处在于这些是针对文件而不是代码片段。展开 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}
这将为名为 Foo
的类添加 //end Foo
关于java - 自动将注释附加到 Netbeans 中自动插入的大括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7578311/