EGit Solution
Можно ожидать, что создание или изменение шаблонных переменных на основе проекта, рабочего пространства или среды - это стандартная функция Eclipse. К сожалению, это не так. Более того, учитывая, что плагины Eclipse могут определять новые переменные и шаблоны, должны быть плагины, предоставляющие решение. Если они есть, их должно быть трудно найти. ммм-TemplateVariable , доступный на Eclipse Marketplace, - это шаг в правильном направлении для пользователей Maven, позволяющий включать в шаблоны версию, artifactId и т. д.
К счастью, EGit , который является инструментом Eclipse для Git, предоставляет очень гибкие средства для включения множества различных переменных в шаблоны кода. Единственное требование - ваш проект использует Git. Если вы не используете Git, но серьезно относитесь к разработке программного обеспечения, сейчас самое время научиться ( книга Pro Git ). Если вы вынуждены использовать устаревшую систему контроля версий, попробуйте передумать.
Благодаря усилиям harmsk , EGit 4.0 и выше включает возможность использовать значения ключей конфигурации Git в шаблонах. Это позволяет устанавливать значения шаблона на основе настроек репозитория (проект), пользовательских настроек (учетная запись) и / или глобальных настроек (рабочая станция).
В следующем примере показано, как настроить Eclipse и Git для многопользовательской рабочей станции разработки и использовать вместо этого настраиваемый ключ конфигурации Git ${user}
для обеспечения большей гибкости. Хотя пример основан на установке Eclipse Mars и Git для Windows в Windows 10, этот пример применим к Linux и OSX, использующим Eclipse и Git с использованием соответствующих инструментов командной строки.
Чтобы избежать возможной путаницы между user.name
ключом конфигурации Git и user.name
системным свойством Java, user.author
для предоставления имени автора и / или учетных данных будет использоваться пользовательский ключ конфигурации Git - .
Настройка шаблонов
Формат переменной шаблона Git выглядит следующим образом
${<name>:git_config(<key>)}
где <name>
любое произвольное имя переменной и<key>
ключ конфигурации Git, значение которого следует использовать. Учитывая это, изменив шаблон Комментарии → Типы на
/**
* @author ${author:git_config(user.author)}
*
* ${tags}
*/
теперь попытается определить имя автора из user.author
конфигурационного ключа Git . Без дальнейшей настройки любые вновь созданные комментарии не будут включать имя после @author
, так как ни один еще не был определен.
Конфигурирование Git
Из командной строки
Конфигурация системы Git - Этот шаг конфигурации вносит изменения в общесистемную конфигурацию Git, применимые ко всем учетным записям на рабочей станции, если они не отменены настройками пользователя или репозитория. Поскольку общесистемные конфигурации являются частью основного приложения Git (например, Git для Windows), для внесения изменений потребуются права администратора. Запустите Git Bash, cmd или PowerShell от имени администратора. Следующая команда установит общесистемного автора.
git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”
Цель этого «автора» - служить напоминанием о том, что он должен быть установлен в другом месте. Это особенно полезно, когда на рабочей станции используются новые учетные записи пользователей.
Чтобы проверить этот параметр, создайте пустой проект Java, использующий Git, или откройте существующий проект на основе Git. Создайте класс и используйте Source → Generate Element Comment из контекстного меню ALT-SHIFT-J или запустите комментарий JavaDoc. Полученный @author
тег должен сопровождаться предупреждением.
Оставшиеся изменения конфигурации могут быть выполнены без прав администратора.
Глобальная (пользовательская) конфигурация Git. Глобальные или пользовательские конфигурации - это конфигурации, связанные с конкретным пользователем, которые переопределяют общесистемные конфигурации. Эти параметры применяются ко всем проектам на основе Git, если они не переопределяются настройками репозитория. Если имя автора отличается из-за различных типов проектов, таких как работа, материалы с открытым исходным кодом или личные данные, установите наиболее часто используемые здесь.
git config --global user.author “Mr. John Smith”
Настроив глобальное значение, вернитесь к ранее использовавшемуся тестовому проекту и примените комментарий класса. Теперь @author
тег должен показывать глобальные настройки.
Конфигурация Git Repository (Local) - Наконец, репозиторий или локальная конфигурация могут быть использованы для настройки автора для конкретного проекта. В отличие от предыдущих конфигураций, конфигурация хранилища должна быть выполнена из хранилища. С помощью Git Bash, PowerShell и т. Д. Перейдите в хранилище тестового проекта.
git config --local user.author “smithy”
Учитывая это, новые комментарии в тестовом проекте будут использовать локально определенное имя автора. Другие основанные на Git проекты будут по-прежнему использовать глобальное имя автора.
Из Затмения
Изменения конфигурации, указанные выше, также могут быть установлены в Eclipse через его Предпочтения: Team → Git-Configuration . Eclipse должен запускаться от имени администратора для изменения общесистемных конфигураций Git.
В сумме
Хотя в этом примере конкретно рассматривается наиболее распространенная проблема - проблема изменения ${user}
, этот подход можно использовать для большего. Однако следует проявлять осторожность, чтобы не использовать определенные Git ключи конфигурации, если это специально не предназначено.