EGit Solution
Можно ожидать, что создание или изменение шаблонных переменных на основе проекта, рабочей области или среды - это стандартная функция Eclipse. К сожалению, это не так. Более того, учитывая, что плагины Eclipse могут определять новые переменные и шаблоны, должны существовать плагины, предоставляющие решение. Если они есть, их должно быть трудно найти. mmm-TemplateVariable , доступный на Eclipse Marketplace, - это шаг в правильном направлении для пользователей Maven, позволяющий включать в шаблоны версию, artifactId и т. Д.
К счастью, EGit , который является инструментом Eclipse для Git, предоставляет очень гибкие средства для включения множества различных переменных в шаблоны кода. Единственное требование - ваш проект использует Git. Если вы не используете Git, но серьезно относитесь к разработке программного обеспечения, сейчас самое время учиться ( Pro Git book ). Если вы вынуждены использовать устаревшую систему контроля версий, попробуйте передумать.
Благодаря усилиям harmsk , EGit 4.0 и выше включает возможность использования значений ключей конфигурации Git в шаблонах. Это позволяет устанавливать значения шаблона на основе настроек репозитория (проект), пользовательских настроек (учетная запись) и / или глобальных настроек (рабочая станция).
В следующем примере показано, как настроить Eclipse и Git для многопользовательской рабочей станции разработки и использовать настраиваемый ключ конфигурации Git вместо ${user}
для обеспечения большей гибкости. Хотя пример основан на установке Eclipse Mars и Git для Windows в Windows 10, этот пример применим к Linux и OSX, использующим Eclipse и Git с использованием соответствующих инструментов командной строки.
Чтобы избежать возможной путаницы между ключом конфигурации Git user.name
и системным свойством Java user.name
, для предоставления имени и / или учетных данных автора будет использоваться пользовательский ключ конфигурации Git - user.author
.
Настройка шаблонов
Формат переменной шаблона Git выглядит следующим образом
${<name>:git_config(<key>)}
, где <name>
- произвольное имя переменной, а <key>
- ключ конфигурации Git, значение которого следует использовать. Учитывая это, изменив шаблон Комментарии → Типы на
/**
* @author ${author:git_config(user.author)}
*
* ${tags}
*/
теперь будет пытаться разрешить имя автора с помощью конфигурационного ключа Git user.author
. Без дальнейшей настройки любые вновь созданные комментарии не будут содержать имя после @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. Создайте класс и используйте Источник → Создать комментарий элемента из контекстного меню, ALT-SHIFT-J или запустите комментарий JavaDoc. За полученным тегом @author
должно следовать предупреждение.
Оставшиеся изменения конфигурации могут быть выполнены без прав администратора.
Git Global (Использоватьr) Конфигурация - глобальные или пользовательские конфигурации - это конфигурации, связанные с конкретным пользователем, которые переопределяют общесистемные конфигурации. Эти параметры применяются ко всем проектам на основе 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 ключи конфигурации, если это не предназначено специально.