Як змінити значення змінної $ {user}, що використовується в шаблонах Eclipse


260

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


1
Якщо вам цікаво, версію змінної за замовчуванням можна отримати, зателефонувавши: System.getProperty ("ім'я користувача"), і де Java бере її, це залежить від системи.
Maciej Biłas

У цій статті показано порядок, в якому eclipse використовує для визначення значення змінної, який я вважав корисним. martijndashorst.com/blog/2006/04/21/…
Стівен Май

Посилання StevenMai мертве ... Ось архівована версія: web.archive.org/web/20180927010751/http://…
Sometowngeek

Відповіді:


285

Здається, що найкраще встановити user.nameзмінну java або в командному рядку, або за допомогою eclipse.iniфайлу в кореневому каталозі установки eclipse.

Це, здається, добре працює для мене:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Duser.name=Davide Inglima
-Xms40m
-Xmx512m    

Оновлення:

http://morlhon.net/blog/2005/09/07/eclipse-username/ - мертве посилання ...

Ось новий: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/


16
Ризик полягає в тому, що це порушить будь-який плагін, який повинен знати ідентифікатор користувача (що є документально підтвердженим значенням властивості user.name). Було б добре, якби був кращий спосіб відкоригувати значення, яке Eclipse використовуватиме для цієї змінної.
Діастрофізм

30
Для мене "викликала проблему, яку я повинен був зробити: -Duser.name=Ron Kitayщоб вона поводилася належним чином
RonK

27
Рівнішим кращим рішенням у Eclipse буде ще одна змінна, така як $ {програміст}, яку можна було б визначити, а потім використовувати в шаблонах (або навіть дозволити людям створювати власні змінні!). Але це ЯК Затьмарення, зітхання.
Скотт Біггс

3
-Duser.nameПовинні прийти після того, як на -vmargsпрапорі (протестовано з Eclipse , Марс).
Ян Чімяк

2
Мертве посилання, ось архів: web.archive.org/web/20111225025454/http://morlhon.net:80/blog/…
nloveladyallen

96

Відкрийте Eclipse, перейдіть до Вікна -> Налаштування -> Java -> Стиль коду -> Шаблони коду -> Коментарі -> Типи, а потім натисніть кнопку "Редагувати". Там ви можете змінити своє ім’я в створеному коментарі від @Author $ {user} на @Author Rajish.


41
Це не відповідь на питання
Rajish

15
@Rajish: ти абсолютно правий, але це може бути єдине розумне рішення. Оцінивши варіанти, це я і зробив.
Скотт Біггс

13
На мій погляд, це найкраща відповідь - замість того, щоб возитися з командним рядком та eclipse.ini, які залежать від платформи та, мабуть, занадто громіздко для завдання, яке вони виконують, просто часто хочеться робити налаштування для кожного проекту - і роблячи це в Властивості проекту, як запропоновано вище, в даний час можуть бути єдиним способом це зробити.
amn

2
Я думаю, що це не правильна відповідь, оскільки існує багато мов та редакторів, які використовують Eclipse, не лише Java. Тож вирішіть проблему лише для тих, хто використовує Eclipse для редагування Java, а не всіх інших мов.
Лукас Габріель Санчес

4
Це рішення також не є підходящим, якщо ви використовуєте спільні визначення шаблонів з іншими користувачами.
Крістофер Барбер

36
Windows > Preferences > Java > Code Style > Code Templates > Comments

введіть тут опис зображення

Або Відкрити eclipse.iniфайл і додати наступне.

-Duser.name=Sumit Singh // Your Name

введіть тут опис зображення


18

EGit Solution

Можна очікувати, що створення або зміна змінних шаблонів на основі проекту, робочої області або середовища є стандартною функцією Eclipse. На жаль, це не так. Тим більше, що враховуючи, що плагіни Eclipse можуть визначати нові змінні та шаблони, там повинні бути плагіни, що пропонують рішення. Якщо вони є, їх треба важко знайти. mmm-TemplateVariable , який доступний на ринку Eclipse Market, є кроком у правильному напрямку для користувачів Maven, що дає можливість включати версію, artifactId тощо у шаблони.

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

Завдяки зусиллям harmsk , EGit 4.0 і вище включає можливість використання значень ключових параметрів конфігурації Git у шаблонах. Це дозволяє встановити значення шаблонів на основі налаштувань сховища (проект), налаштувань користувача (облікового запису) та / або глобальних налаштувань (робоча станція).

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

Щоб уникнути можливої ​​плутанини між user.nameключем конфігурації Git та user.nameсистемним властивістю Java , користувальницький ключ конфігурації Git - user.author- буде використаний для надання імені автора та / або облікових даних.

Налаштування шаблонів

Формат змінної шаблону 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. Створіть клас та використовуйте Джерело → Генеруйте коментар до елемента з контекстного меню ALT-SHIFT-J або запустіть коментар JavaDoc. Отриманий @authorтег повинен супроводжуватися попередженням.

Решту змін конфігурації можна виконати без прав адміністратора.

Конфігурація Git Global (Користувач) - глобальна або користувальницька конфігурація - це ті, що пов’язані з певним користувачем і будуть перекривати конфігурації на загальній системі. Ці налаштування застосовуються до всіх проектів на базі Git, якщо вони не перекриваються налаштуваннями репозиторію. Якщо ім’я автора відрізняється через різні типи проектів, такі як робота, відкриті вклади чи особисті, встановіть тут найбільш часто використовувані.

git config --global user.author “Mr. John Smith”

Налаштувавши глобальне значення, поверніться до тестового проекту, що використовується раніше, та застосуйте коментар до класу. @authorТег повинен тепер показати глобальні настройки.

Конфігурація Git Repository (Local) - Нарешті, сховище або локальна конфігурація можуть використовуватися для налаштування автора для конкретного проекту. На відміну від попередніх конфігурацій, конфігурацію репозиторію необхідно робити зсередини сховища. За допомогою Git Bash, PowerShell тощо перейдіть до сховища тестового проекту.

git config --local user.author “smithy”

Враховуючи це, нові коментарі до тестового проекту будуть використовувати локально визначене ім’я автора. Інші проекти, що базуються на Git, все ще будуть використовувати глобальне ім’я автора.

Зсередини Eclipse

Зміни конфігурації вище можна також встановити в межах Eclipse за допомогою його параметрів: команда → Git-конфігурація . Eclipse потрібно запускати як адміністратор, щоб змінити загальносистемні конфігурації Git.

В результаті

Хоча цей приклад стосувався саме найпоширенішого питання, пов'язаного із зміною ${user}, цей підхід може бути використаний для більше. Однак слід бути обережними, щоб не використовувати конфігураційні ключі, визначені Git, якщо це не призначено спеціально.


Це приємно, але чому б не просто використовувати так, ${author:git_config(user.name)}як це вже стандартно?
RobertDeRose

@RobD - Як зазначено у публікації (5-й абзац згори) - щоб уникнути плутанини. Ви можете використовувати все, що завгодно. Хоча у виробничому середовищі краще відокремити елементи конфігурації проекту від елементів конфігурації системи.
Фріллінг

16

Замість того, щоб змінити ${user}затемнення, доцільно ввести

-Duser.name=Whateverpleaseyou

в eclipse.iniякій присутній у вашій папці затемнення.


3
-1 Ні, eclipse.ini навіть збережений, оскільки UTF-8 не справляється правильно з французьким акцентом, як àôéù ...
Aubin

26
У чому сенс опублікування через чотири роки те саме рішення, що і прийняте?
PhiLho

2
@Aubin насправді зараз я запускаю затемнення, яке підтримує наголоси, такі як ... і т.д., без проблем. Отже, це правильна і корисна відповідь.
Лукас Габріель Санчес

1
@PhiLho Ця відповідь є компактною та стислою, лише 3 речення. Також посилання в обраній відповіді розривається.
johnnieb

3

dovescrywolf дав підказку як коментар до статті, що посилається на Девіде Інгліма

Це було дуже корисно для мене на MacOS.

  • Закрийте Eclipse, якщо він відкритий.
  • Відкрийте Termnal (bash console) і зробіть нижче:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your 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 у меню Налаштування для локального рішення. Це обидва дійсні рішення цієї проблеми.

Але якщо ви шукаєте ім'я автора, яке турбує більшість із нас, є у цьому файлі.


Цей параметр фактично змінює налаштування, показане в налаштуваннях затемнення (видаляє тег {user}), вручну.
Альфабраво

Розташування файлу застаріло для Eclipse Luna.
Мартін Карні

Це $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/… на Марсі, а також є $WORKSPACE/$PROJECT/.settings/… для кожного проекту. Як уже згадувалося, це робоча область або налаштування проекту, які можна зручніше редагувати вручну (і чітко виключати ОП).
Дірк

0

відредагуйте файл /etc/eclipse.iniтак, щоб він містив запис;

-Duser.name=myname

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


-1

Вікно -> Налаштування -> Java -> Стиль коду -> Шаблони коду -> Коментарі -> Типи Відредагуйте теге infront $ {user} на своє ім'я.

До цього

/**
 * @author ${user}
 *
 * ${tags}
 */

Після

/**
 * @author Waqas Ahmed
 *
 * ${tags}
 */

введіть тут опис зображення


-4

просто інший варіант. goto ПРЕФЕРЕНТИ >> JAVA >> EDITOR >> TEMPLATES , Виберіть @author та змініть змінну $ {user}.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.