Как изменить значение переменной $ {user}, используемой в шаблонах Eclipse

213

Вместо жесткого кодирования шаблона @author по умолчанию я хотел бы, чтобы Eclipse использовал реальное имя пользователя, взятое из информации об учетной записи (в Linux - но решение Windows также приветствуется). Ввод его где-то в конфигурацию Eclipse был бы приемлемым, тоже, увы, я не могу найти нужное место.

  • 1
    Если вам интересно, версию переменной по умолчанию можно получить, вызвав: System.getProperty ("user.name"), и то, откуда Java берет ее, зависит от системы.
  • 0
    В этой статье показан порядок, в котором Eclipse использует для определения значения переменной, что я нашел полезным. martijndashorst.com/blog/2006/04/21/...
Теги:

9 ответов

226
Лучший ответ

http://morlhon.net/blog/2005/09/07/eclipse-username/

Кажется, что лучше всего переопределить переменную java user.name либо в командной строке, либо использовать файл eclipse.ini в корневом каталоге установки eclipse. Кажется, это работает отлично для меня:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Duser.name=Davide Inglima
-Xms40m
-Xmx512m    
  • 13
    Риск состоит в том, что это сломает любой плагин, который должен знать идентификатор пользователя (который является документированным значением свойства user.name). Было бы хорошо, если бы был лучший способ настроить значение, которое Eclipse будет использовать для этой переменной.
  • 29
    Для меня " вызвало проблему, я должен был сделать: -Duser.name=Ron Kitay чтобы он вел себя правильно
Показать ещё 8 комментариев
84

Откройте Eclipse, перейдите к Окно → Настройки → Java → Стиль кода → Шаблоны кода → Комментарии → Типы, а затем нажмите кнопку "Изменить". Там вы можете изменить свое имя в сгенерированной форме комментария @Author ${user} на @Author Rajish.

  • 39
    Это не ответ на вопрос
  • 15
    @Rajish: вы абсолютно правы, но это может быть единственным разумным решением. После оценки вариантов, это то, что я сделал.
Показать ещё 5 комментариев
25
Windows > Preferences > Java > Code Style > Code Templates > Comments

Изображение 6795

Или откройте файл eclipse.ini и добавьте следующее.

-Duser.name=Sumit Singh // Your Name

Изображение 6796

12

Вместо изменения ${user} в eclipse рекомендуется ввести

-Duser.name=Whateverpleaseyou

в eclipse.ini, который присутствует в вашей папке eclipse.

  • 3
    -1 Нет, eclipse.ini, даже сохраненный как UTF-8, некорректно обрабатывает французский акцент, как, например, ...
  • 26
    Какой смысл публиковать через четыре года то же решение, что и принятое?
Показать ещё 2 комментария
7

Решение EGit

Можно было бы ожидать, что создание или изменение переменных шаблона на основе проекта, рабочей области или среды является стандартной функцией Eclipse. К сожалению, это не так. Более того, учитывая, что плагины Eclipse могут определять новые переменные и шаблоны, там должны быть плагины, обеспечивающие решение. Если они есть, их, должно быть, трудно найти. mmm-TemplateVariable, который доступен в Eclipse Marketplace, является шагом в правильном направлении для пользователей Maven, предоставляя возможность включать версию, artifactId и т.д. в шаблонах.

К счастью, EGit, который является инструментом Eclipse для Git, предоставляет очень гибкие средства для включения множества разных переменных в код шаблоны. Единственное требование - ваш проект использует Git. Если вы не используете Git, но серьезно относитесь к разработке программного обеспечения, теперь самое время узнать (Pro Git book). Если вы вынуждены использовать устаревшую систему управления версиями, попробуйте изменить некоторые умы.

Благодаря усилиям harmsk, EGit 4.0 и выше включает в себя возможность использования Git значений ключа конфигурации в шаблонах. Это позволяет устанавливать значения шаблонов на основе настроек репозитория (проекта), пользовательских настроек (учетных записей) и/или глобальных параметров (рабочая станция).

В следующем примере показано, как настроить Eclipse и Git для рабочей станции с несколькими пользователями и использовать вместо ${user} конфигурационный ключ Git, чтобы обеспечить большую гибкость. Хотя пример основан на установке Windows Eclipse Mars и Git для Windows, пример применим к Linux и OSX, работающим под Eclipse и Git, используя соответствующие инструменты командной строки.

Чтобы избежать возможной путаницы между конфигурационным ключом Git s user.name и системным свойством Javas user.name, для указания имени и/или учетных данных авторов будет использоваться настраиваемый ключ конфигурации Git - user.author -.

Настройка шаблонов

Формат переменной шаблона Git выглядит следующим образом

${<name>:git_config(<key>)}

где <name> - любое произвольное имя переменной, а <key> - это ключ конфигурации Git, значение которого должно использоваться. Учитывая это, изменив шаблон Комментарии → Типы на

/**
 * @author ${author:git_config(user.author)}
 *
 * ${tags}
 */

теперь попытается разрешить имя авторов из Git s user.author. Без какой-либо дополнительной настройки любые вновь созданные комментарии не будут включать имя после @author, так как пока не определено.

Настройка Git

Из командной строки

Git Конфигурация системы. Этот шаг конфигурации вносит изменения в системную конфигурацию Git s, применимую ко всем учетным записям на рабочей станции, если это не переопределено настройками пользователя или репозитория. Поскольку общесистемные конфигурации являются частью базового приложения 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 Глобальная (пользовательская) конфигурация. Глобальные или пользовательские конфигурации - это те, которые связаны с конкретным пользователем и переопределяют общесистемные конфигурации. Эти параметры применяются ко всем Git -проектам, если они не переопределены настройками репозитория. Если имя автора отличается из-за различных типов проектов, таких как работа, вкладки с открытым исходным кодом или личные, установите наиболее часто используемые здесь.

git config --global user.author "Mr. John Smith"

Сконфигурировав глобальное значение, вернитесь к ранее использованному тестовому проекту и примените комментарий к классу. Тег @author должен теперь показывать глобальную настройку.

Git Конфигурация репозитория (локальная)- Наконец, репозиторий или локальная конфигурация могут использоваться для настройки автора для конкретного проекта. В отличие от предыдущих конфигураций, конфигурация репозитория должна быть выполнена из репозитория. Используя Git Bash, PowerShell и т.д., Перейдите в хранилище тестовых проектов.

git config --local user.author "smithy"

Учитывая это, новые комментарии в тестовом проекте будут использовать локально определенное имя автора. Другие проекты, основанные на Git, по-прежнему будут использовать глобальное имя автора.

Внутри Eclipse

Изменения конфигурации выше также могут быть установлены из Eclipse через его Предпочтения: Команда → Git -Конфигурация. Запуск Eclipse должен выполняться как "Администратор" для изменения общесистемных конфигураций Git.

В сумме

Несмотря на то, что в этом примере рассмотрена наиболее распространенная проблема - изменение ${user}, этот подход можно использовать для большего. Однако следует соблюдать осторожность, чтобы не использовать Git -пределенные ключи конфигурации, если это специально не предназначено.

  • 0
    Это хорошо, но почему бы просто не использовать ${author:git_config(user.name)} поскольку это уже стандарт?
  • 0
    @RobD - Как уже упоминалось в посте (5-й абзац сверху) - чтобы избежать путаницы. Вы можете использовать все, что хотите. Хотя в производственной среде лучше отделять элементы конфигурации проекта от элементов конфигурации системы.
3

dovescrywolf дал отзыв в качестве комментария к статье, связанной Давиде Инглимой

Это было очень полезно для меня на MacOS.

  • Закройте Eclipse, если он был открыт.
  • Откройте Termnal (консоль bash) и выполните следующие действия:

    $pwd/Пользователи/You/YourEclipseInstalationDirectory
    $ cd Eclipse.app/Contents/MacOS/
    $ echo "Duser.name = Ваше имя" → eclipse.ini
    $ cat eclipse.ini

  • Закрыть терминал и снова запустить/открыть Eclipse.

1

Это файл, который мы все ищем (внутри рабочего пространства Eclipse):

.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs

Вы найдете тэг @author с именем, которое вы хотите изменить. Перезапустите Eclipse, и он будет работать.

Для акцентов вы должны использовать формат Unicode (например, "\ u00E1" для).

Вы также можете изменить файл 'ini', как предлагают предыдущие ответы, или задать имя пользователя var для глобального решения. Или переопределите тег @author в меню "Настройки" для локального решения. Это оба действительные решения этой проблемы.

Но если вы ищете "то" имя автора, которое беспокоит большинство из нас, находится в этом файле.

  • 0
    Эта опция фактически изменяет настройку, показанную в настройках eclipse (удаляет тег {user}), вручную.
  • 0
    Расположение файла для Eclipse Luna устарело.
Показать ещё 1 комментарий
0

отредактируйте файл /etc/eclipse.ini, чтобы содержать запись как;

-Duser.name=myname

Перезагрузите "затмение" и теперь, при создании любого нового файла, с помощью мастера (c/С++/java), он будет использовать "myname" вместо ${user}.

-4

просто другой вариант. goto ПРЕДПОЧТЕНИЯ → JAVA → РЕДАКТОР → ШАБЛОНЫ, выберите @author и измените переменную ${user}.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню