К сожалению, кажется, нет способа настроить то, что генерируется, когда NetBeans добавляет закрывающую скобку: есть только флажок для того, чтобы сделать это или нет, в Инструменты-> Параметры-> Редактор-> Завершение кода.
Вот следующее лучшее решение:
В NetBeans предусмотрены «шаблоны кода», которые представляют собой фрагменты предопределенного кода, которые автоматически генерируются при вводе некоторого предопределенного сокращения и последующем нажатии вкладки. Например, если вы наберете 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 class
Или даже:
public class ${name} {
}//end {$name}
, который поместит //end Foo
для класса с именем Foo