Come modificare il valore della variabile $ {user} utilizzata nei modelli Eclipse


261

Invece di codificare il modello predefinito @author, vorrei che Eclipse usasse il vero nome dell'utente ricavato dalle informazioni dell'account (in Linux - ma anche la soluzione Windows è benvenuta). Inserirlo da qualche parte nella configurazione di Eclipse sarebbe anche accettabile, purtroppo non riesco a trovare il posto giusto.


1
Se sei curioso, puoi ottenere la versione predefinita della variabile chiamando: System.getProperty ("user.name") e da dove Java lo prende dipende dal sistema.
Maciej Biłas,

Questo articolo mostra l'ordine in cui viene utilizzato eclipse per determinare il valore della variabile che ho trovato utile. martijndashorst.com/blog/2006/04/21/…
Steven Mai

Il link di StevenMai è morto ... Ecco una versione archiviata: web.archive.org/web/20180927010751/http://…
Sometowngeek

Risposte:


286

Sembra che la soluzione migliore sia ridefinire la user.namevariabile java dalla riga di comando o utilizzando il eclipse.inifile nella directory principale di installazione di eclipse.

Questo sembra funzionare bene per me:

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

Aggiornare:

http://morlhon.net/blog/2005/09/07/eclipse-username/ è un collegamento non funzionante ...

Eccone uno nuovo: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/


16
Il rischio è che ciò interrompa qualsiasi plug-in che deve conoscere l'ID utente (che è il valore documentato della proprietà user.name). Sarebbe bello se ci fosse un modo migliore per regolare il valore che Eclipse utilizzerà per quella variabile.
Diastrofismo

30
Per me il "problema è stato causato, ho dovuto fare: -Duser.name=Ron Kitayper comportarmi correttamente
RonK

27
Una soluzione ancora MIGLIORE sarebbe che Eclipse avesse un'altra variabile come $ {programmatore} che si potrebbe definire e quindi utilizzare nei template (o addirittura consentire alle persone di creare le proprie variabili!). Ma questa è Eclipse, sospiro.
Scott Biggs,

3
La -Duser.namedeve venire dopo la -vmargsbandiera (testato con Eclipse Mars).
Jan Chimiak,


96

Apri Eclipse, vai a Finestra -> Preferenze -> Java -> Stile codice -> Modelli di codice -> Commenti -> Tipi e quindi premi il pulsante 'Modifica'. Lì puoi cambiare il tuo nome nel commento generato da @Author $ {user} a @Author Rajish.


41
Non è la risposta alla domanda
Rajish,

15
@Rajish: hai perfettamente ragione, ma potrebbe essere l'unica soluzione ragionevole. Dopo aver valutato le opzioni, è quello che ho fatto.
Scott Biggs,

13
Questa è la migliore risposta secondo me - invece di fare confusione con la riga di comando ed eclipse.ini, che sono dipendenti dalla piattaforma e probabilmente troppo ingombranti per il compito che svolgono, si desidera semplicemente fare un'impostazione per progetto - e farlo in Le proprietà del progetto come suggerito sopra possono attualmente essere l'unico modo per farlo.
AMN

2
Penso che non sia la risposta giusta perché ci sono molte lingue ed editor che usano Eclipse, non solo Java. In modo che risolva il problema solo per quelli che usano Eclipse per modificare Java, non tutte le altre lingue.
Lucas Gabriel Sánchez,

4
Inoltre, questa soluzione non è appropriata se si utilizzano definizioni di modelli condivisi con altri utenti.
Christopher Barber

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

inserisci qui la descrizione dell'immagine

Oppure Apri il eclipse.inifile e aggiungi quanto segue.

-Duser.name=Sumit Singh // Your Name

inserisci qui la descrizione dell'immagine


18

Soluzione EGit

Ci si aspetterebbe che la creazione o la modifica di variabili modello su base di progetto, area di lavoro o ambiente sia una funzione Eclipse standard. Purtroppo no. Inoltre, dato che i plug-in Eclipse possono definire nuove variabili e modelli, dovrebbero esserci plug-in che forniscono una soluzione. Se lo sono, devono essere difficili da trovare. mmm-TemplateVariable , che è disponibile nel Marketplace di Eclipse, è un passo nella giusta direzione per gli utenti Maven, offrendo la possibilità di includere la versione, l'artefattoId, ecc. nei modelli.

Fortunatamente, EGit , che è uno strumento Eclipse per Git, fornisce mezzi molto flessibili per includere molte variabili diverse nei modelli di codice. L'unico requisito è che il tuo progetto usi Git. Se non usi Git, ma sei seriamente interessato allo sviluppo del software, ora è il momento di imparare ( libro Pro Git ). Se sei costretto a utilizzare un sistema di controllo della versione legacy, prova a cambiare idea.

Grazie all'impegno di harmsk , EGit 4.0 e versioni successive includono la possibilità di utilizzare i valori delle chiavi di configurazione di Git nei modelli. Ciò consente di impostare i valori del modello in base alle impostazioni del repository (progetto), alle impostazioni dell'utente (account) e / o alle impostazioni globali (workstation).

L'esempio seguente mostra come impostare Eclipse e Git per una workstation di sviluppo multiutente e utilizzare una chiave di configurazione Git personalizzata al posto di ${user}fornire maggiore flessibilità. Sebbene l'esempio sia basato su un'installazione Windows 10 di Eclipse Mars e Git per Windows, l'esempio è applicabile a Linux e OSX che eseguono Eclipse e Git utilizzando i rispettivi strumenti da riga di comando.

Per evitare possibili confusioni tra la user.namechiave di configurazione di Git e la user.nameproprietà di sistema di Java , user.authorverrà utilizzata una chiave di configurazione Git personalizzata - per fornire il nome e / o le credenziali di un autore.

Configurazione dei modelli

Il formato di una variabile del modello Git è il seguente

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

dove <name>c'è un nome di variabile arbitrario ed <key>è la chiave di configurazione di Git il cui valore deve essere usato. Detto questo, cambiando il modello Commenti → Tipi in

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

tenterà ora di risolvere il nome dell'autore dalla user.authorchiave di configurazione di Git . Senza ulteriori configurazioni, eventuali commenti appena creati non includeranno un nome dopo @author, poiché nessuno è stato ancora definito.

Configurare Git

Dalla riga di comando

Configurazione del sistema Git - Questo passaggio di configurazione apporta modifiche alla configurazione dell'intero sistema Git applicabile a tutti gli account sulla workstation a meno che non venga sovrascritto dalle impostazioni dell'utente o del repository. Poiché le configurazioni a livello di sistema fanno parte dell'applicazione Git sottostante (ad esempio Git per Windows), le modifiche richiederanno i privilegi di amministratore. Esegui Git Bash, cmd o PowerShell come amministratore. Il comando seguente imposterà l'autore a livello di sistema.

git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”

Lo scopo di questo "autore" è quello di ricordare che dovrebbe essere impostato altrove. Ciò è particolarmente utile quando si utilizzano nuovi account utente sulla workstation.

Per verificare questa impostazione, creare un progetto Java vuoto che utilizza Git o aprire un progetto basato su Git esistente. Crea una classe e usa Sorgente → Genera commento elemento dal menu contestuale, ALT-SHIFT-J , o avvia un commento JavaDoc. Il @authortag risultante dovrebbe essere seguito dall'avvertimento.

Le restanti modifiche alla configurazione possono essere eseguite senza i privilegi di amministratore.

Configurazione globale (utente) di Git - Le configurazioni globali o utente sono quelle associate a un utente specifico e sostituiranno le configurazioni a livello di sistema. Queste impostazioni si applicano a tutti i progetti basati su Git a meno che non vengano sovrascritti dalle impostazioni del repository. Se il nome dell'autore è diverso a causa di vari tipi di progetto, ad esempio per lavoro, contributi open source o personali, impostare qui i più utilizzati.

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

Dopo aver configurato il valore globale, tornare al progetto di test utilizzato in anticipo e applicare un commento di classe. Il @authortag dovrebbe ora mostrare l'impostazione globale.

Configurazione del repository Git (locale) - Infine, è possibile utilizzare un repository o una configurazione locale per configurare un autore per un progetto specifico. A differenza delle configurazioni precedenti, una configurazione del repository deve essere eseguita all'interno del repository. Utilizzando Git Bash, PowerShell, ecc., Accedere al repository del progetto di test.

git config --local user.author “smithy”

Detto questo, i nuovi commenti nel progetto di test useranno il nome dell'autore definito localmente. Altri progetti basati su Git utilizzeranno comunque il nome dell'autore globale.

Dall'interno di Eclipse

Le modifiche alla configurazione sopra possono anche essere impostate da Eclipse tramite le sue Preferenze: Team → Configurazione Git . Eclipse deve essere eseguito come amministratore per modificare le configurazioni Git a livello di sistema.

In somma

Sebbene questo esempio abbia affrontato in modo specifico il problema più comune, quello del cambiamento ${user}, questo approccio può essere utilizzato per altro. Tuttavia, è necessario prestare attenzione a non utilizzare le chiavi di configurazione definite da Git, a meno che non sia specificamente previsto.


È bello, ma perché non usarlo ${author:git_config(user.name)}perché è già standard?
RobertDeRose,

@RobD - Come menzionato nel post (5 ° paragrafo dall'alto) - per evitare confusione. Sei libero di usare quello che vuoi. Sebbene in un ambiente di produzione sia meglio separare gli elementi di configurazione del progetto dagli elementi di configurazione del sistema.
Frelling

16

Invece di cambiare ${user}in eclissi, è consigliabile introdurre

-Duser.name=Whateverpleaseyou

in eclipse.inicui è presente nella cartella eclipse.


3
-1 No, eclipse.ini è stato salvato anche come UTF-8 non gestisce correttamente l'accento francese come àôéù ...
Aubin,

26
Qual è lo scopo di pubblicare, quattro anni dopo, la stessa soluzione di quella accettata?
PhiLho,

2
@Aubin in questo momento sto eseguendo un'eclissi che supporta accenti come áóë .. ecc. Senza problemi. Quindi questa è una risposta corretta e utile.
Lucas Gabriel Sánchez,

1
@PhiLho Questa risposta è compatta e concisa, solo 3 frasi. Inoltre, il collegamento nella risposta selezionata è interrotto.
johnnieb,

3

dovescrywolf ha dato la mancia come commento sull'articolo collegato da Davide Inglima

Mi è stato molto utile su MacOS.

  • Chiudi Eclipse se è aperto.
  • Apri Termnal (console bash) e fai sotto le cose:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your Name" >> eclipse.ini  
    $ cat eclipse.ini
  • Chiudi Terminale e riavvia / apri nuovamente Eclipse.


1

Questo è il file che stiamo tutti cercando (all'interno dell'area di lavoro Eclipse):

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

Troverai un tag @author con il nome che desideri modificare. Riavvia Eclipse e funzionerà.

Per gli accenti devi usare il formato Unicode (es. '\ U00E1' per á).

Puoi anche modificare il file 'ini' come suggerito dalle risposte precedenti o impostare il nome utente var per una soluzione globale. Oppure sovrascrivi il tag @author nel menu Preferenze per una soluzione locale. Sono entrambe valide soluzioni a questo problema.

Ma se stai cercando "quel" nome dell'autore che ci preoccupa la maggior parte di noi, è in quel file.


Questa opzione modifica effettivamente l'impostazione mostrata nelle preferenze dell'eclissi (rimuove il tag {utente}), a mano.
Alfabravo,

Il percorso del file non è aggiornato per Eclipse Luna.
Martin Carney,

È $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/... su Marte, e ci sono anche $WORKSPACE/$PROJECT/.settings/... per ogni progetto. Come accennato, queste sono le aree di lavoro o le preferenze del progetto, che possono essere modificate più comodamente a mano (ed esplicitamente escluse dall'OP).
Dirk,

0

modificare il file /etc/eclipse.ini, in modo da contenere la voce come;

-Duser.name=myname

Riavvia "eclipse" e ora, alla creazione di qualsiasi nuovo file, con la procedura guidata (c / c ++ / java), utilizzerà "myname" al posto di $ {user}.


-1

Finestra -> Preferenze -> Java -> Stile codice -> Modelli di codice -> Commenti -> Tipi Chnage the tage infront $ {user} al tuo nome.

Prima

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

Dopo

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

inserisci qui la descrizione dell'immagine


-4

solo un'altra opzione. vai a PREFERENZE >> JAVA >> EDITOR >> MODELLI , seleziona @author e modifica la variabile $ {utente}.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.