EDIT: С учетом дополнительной информации, которую вы предоставили ed:
Для шаблона стиля «Новые Java-файлы» вы не можете (или даже не должны, если хотите) указать, что он расширяет, потому что вы указываете это в диалоговом окне New Class
.
Также не имеет смысла добавлять объявление throws
для класса. Если вы хотите добавить объявление throws
в конструктор по умолчанию, это имеет смысл. Если вы хотите добавить конструктор по умолчанию из шаблона, вы можете отредактировать шаблон стиля кода «Класс тела», но я бы рекомендовал вместо него писать шаблон поддержки содержимого, поскольку шаблон стиля кода всегда применяется к каждому отдельному файлу, тогда как шаблоны поддержки контента используются только тогда, когда вы специально их выбираете.
Чтобы добавить шаблон содержания, перейдите в раздел «Настройки: Java: Редактор: Шаблоны» и нажмите «Создать ...». Установите контекст в «Java», затем введите свой конструктор.
Чтобы использовать новый шаблон, введите его имя в файле Java и нажмите ctrl-space
, чтобы активировать поддержку контента, а затем выберите свой шаблон из списка. (Content помощь будет автоматически выбирать верхний вариант, если есть только один вариант, когда вы нажмете ctrl-space
.
(старый ответ, работает под неправильного предположения мы говорим о мастере содержимого шаблонов, а не кода шаблонов стилей :)
Если вы всегда расширяете/реализуете/бросаете то же самое, просто скопируйте его в свой шаблон.
Но если вы хотите войти в режим автозаполнения и указать, какой класс продлить и т. Д., Вы можете использовать любое произвольное имя для него.
Например, я должен сделать кучу методов BD, поэтому я соединял этот шаблон:
public ${Type:return_type} ${name}(${}) throws Exception {
Connection conn = Database.getConnection();
${BaseDAO:elemType} dao = new ${BaseDAO}(conn);
try {
return dao.${name}();
} catch (Exception e) {
throw e;
} finally {
Database.closeConnection(conn);
}
}
${name}
это просто произвольный тег, он не соответствует ни в «Вставить переменную» , Каждый раз, когда в моем шаблоне появляется ${name}
, независимо от того, какие типы пользователей в нем будут отображаться во всех случаях. Я мог бы так же легко положить ${foo}
или ${anyArbitraryThingIWant}
и получить тот же результат. Я думаю, что это самый простой способ ответить на ваш вопрос.
Следующие биты на самом деле не отвечают на ваш вопрос, просто объясняя некоторые элементы из моего примера.
${Type:return_type}
позволяет мне установить тип возвращаемого метода. Поскольку я назвал его «Тип», возвращаемым по умолчанию типом будет класс Type
, который в моей программе является объектом с именем, идентификатором и описанием.
${}
- пустая запись в виде вкладок. К сожалению, я не могу использовать его для передачи параметров метода в вызов dao.${name}(...)
, потому что он копирует дословно каждому соответствующему экземпляру, а объявления параметров метода не совпадают с их ссылкой. То есть если я введу «String str» в ${}
, он поместил бы «String str», где я вызываю соответствующий метод dao, что является неправильным синтаксисом.
Можете ли вы добавить шаблон, который у вас есть до сих пор, на ваш вопрос? Кроме того, какой контекст вы используете для своего шаблона? –
@MartinCarney Отредактировано, надеюсь, у вас есть то, что вы хотите. Я делаю свои изменения в настройках> Java> Стиль кода> Шаблоны кода> Код> Новые файлы Java – Eabryt
@MartinCarney Я довольно новичок в шаблонах Eclipse. Я делаю это через Шаблоны на экране «Предпочтения», а не «Шаблоны» в разделе «Окно»> «Показать представление»> «Шаблоны» – Eabryt