Eclipse şablonlarında kullanılan $ {user} değişkeninin değeri nasıl değiştirilir


260

Varsayılan @ yazar şablonunu kodlamak yerine Eclipse'in hesap bilgilerinden alınan gerçek adını kullanmasını istiyorum (Linux'ta - ancak Windows çözümü de hoş geldiniz). Eclipse yapılandırmasına bir yere girmek de kabul edilebilir, ne yazık ki doğru yeri bulamıyorum.


1
Merak ediyorsanız, değişkenin varsayılan sürümü: System.getProperty ("user.name") çağrılarak elde edilebilir ve Java'nın aldığı yer sisteme bağlıdır.
Maciej Biłas

Bu makalede, tutulmanın yararlı bulduğum değişkenin değerini belirlemek için kullandığı sıra gösterilmektedir. martijndashorst.com/blog/2006/04/21/…
Steven Mai

StevenMai'nin bağlantısı öldü ... İşte arşivlenmiş bir sürümü: web.archive.org/web/20180927010751/http://…
Sometowngeek

Yanıtlar:


285

En iyi seçeneğiniz, java user.namedeğişkenini komut satırınızda veya eclipse.inieclipse kuruluş kök dizininizdeki dosyayı kullanarak yeniden tanımlamaktır .

Bu benim için iyi çalışıyor gibi görünüyor:

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

Güncelleme:

http://morlhon.net/blog/2005/09/07/eclipse-username/ ölü bir bağlantıdır ...

İşte yeni bir tane: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/


16
Risk, bunun kullanıcı kimliğini (user.name özelliğinin belgelenmiş değeri) bilmesi gereken herhangi bir eklentiyi kırmasıdır. Eclipse'in bu değişken için kullanacağı değeri ayarlamanın daha iyi bir yolu olsaydı iyi olurdu.
Diastrofizm

30
Benim için "bir soruna neden oldu, yapmalıydım: -Duser.name=Ron Kitaydüzgün davranması için
RonK

27
Hatta daha iyi bir çözüm Eclipse için $ {programmer} gibi bir tanesinin şablonlarda tanımlayıp kullanabileceği başka bir değişkene sahip olması (hatta insanların kendi değişkenlerini yaratmasına izin vermesi!) Olabilir. Ama bu tutulma, iç çekiş.
Scott Biggs

3
-Duser.nameGelmelidir sonra-vmargs (Eclipse Mars ile test) bayrağı.
Jan Chimiak


96

Eclipse'i açın, Pencere -> Tercihler -> Java -> Kod Stili -> Kod Şablonları -> Yorumlar -> Türler'e gidin ve 'Düzenle' düğmesine basın. Burada oluşturulan yorumdaki adınızı @Author $ {user} yerine @Author Rajish olarak değiştirebilirsiniz.


41
Bu sorunun cevabı değil
Rajish

15
@Rajish: Kesinlikle haklısın, ama bu sadece makul bir çözüm olabilir. Seçenekleri değerlendirdikten sonra yaptım.
Scott Biggs

13
Bu benim görüşüme göre en iyi cevaptır - platforma bağımlı ve tartışılan başardıkları görev için çok hantal olan komut satırı ve eclipse.ini ile uğraşmak yerine, genellikle proje başına bir ayar yapmak ister - ve bunu yapmak Yukarıda önerildiği gibi proje özellikleri şu anda bunu yapmanın tek yolu olabilir.
amn

2
Bence doğru cevap değil, çünkü Eclipse kullanan birçok dil ve editör var, sadece Java değil. Böylece, sadece Eclipse kullananları Java'yı düzenlemek için olanlar için sorunu çözmek, diğer tüm dilleri değil.
Lucas Gabriel Sánchez

4
Bu çözüm, diğer kullanıcılarla paylaşılan şablon tanımları kullanıyorsanız da uygun değildir.
Christopher Barber

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

resim açıklamasını buraya girin

Veya eclipse.iniDosyayı açın ve aşağıdakileri ekleyin.

-Duser.name=Sumit Singh // Your Name

resim açıklamasını buraya girin


18

EGit Çözümü

Proje, çalışma alanı veya ortam temelinde şablon değişkenleri oluşturmayı veya değiştirmeyi beklemek standart bir Eclipse özelliğidir. Ne yazık ki öyle değil. Dahası, Eclipse eklentilerinin yeni değişkenler ve şablonlar tanımlayabileceği göz önüne alındığında, orada bir çözüm sağlayan eklentiler olmalıdır. Eğer öyleyse, bulmak zor olmalı. Eclipse Marketplace'te bulunan mmm-TemplateVariable , Maven kullanıcıları için doğru yönde atılmış bir adımdır ve şablonlara sürüm, artifactId vb. ekleme olanağı sağlar.

Neyse ki, Git için bir Eclipse aracı olan EGit , kod şablonlarına birçok farklı değişken eklemek için çok esnek araçlar sağlar. Tek şart, projenizin Git'i kullanmasıdır. Git'i kullanmıyorsanız, ancak yazılım geliştirme konusunda ciddi iseniz, şimdi öğrenme zamanı ( Pro Git book ). Eski bir sürüm kontrol sistemi kullanmak zorunda kalırsanız, bazı zihinleri değiştirmeyi deneyin.

Harmsk'in çabaları sayesinde , EGit 4.0 ve üstü, Git yapılandırma anahtar değerlerini şablonlarda kullanma yeteneğini içerir. Bu, şablon değerlerinin depo ayarlarına (proje), kullanıcı ayarlarına (hesap) ve / veya genel ayarlara (iş istasyonu) göre ayarlanmasına olanak tanır.

Aşağıdaki örnek, çok kullanıcılı bir geliştirme iş istasyonu için Eclipse ve Git'in nasıl kurulacağını ve ${user}daha fazla esneklik sağlamak için özel bir Git yapılandırma anahtarının nasıl kullanılacağını gösterir. Örnek, Windows için Eclipse Mars ve Git'in Windows 10 kurulumuna dayanmasına rağmen, örnek, ilgili komut satırı araçlarını kullanarak Eclipse ve Git çalıştıran Linux ve OSX için geçerlidir.

Git'in user.nameyapılandırma anahtarı ile Java'nın user.namesistem özelliği arasındaki olası karışıklığı önlemek user.authoriçin yazarın adını ve / veya kimlik bilgilerini sağlamak üzere özel bir Git yapılandırma anahtarı - - kullanılacaktır.

Şablonları Yapılandırma

Git şablonu değişkeninin biçimi aşağıdaki gibidir

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

burada <name>herhangi bir rastgele değişken adı ve <key>değeri kullanılması gereken Git yapılandırma anahtarıdır. Bu göz önüne alındığında, Yorumlar → Türler şablonunu

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

artık yazarın adını Git'in user.authoryapılandırma anahtarından çözmeye çalışacaktır . Başka bir yapılandırma olmadan, yeni oluşturulan yorumlar henüz bir ad içermez @author, çünkü henüz hiçbiri tanımlanmamıştır.

Git'i Yapılandırma

Komut satırından

Git Sistem Yapılandırması - Bu yapılandırma adımı Git'in sistem genelindeki yapılandırmada yapılan değişiklikleri, kullanıcı veya havuz ayarları tarafından geçersiz kılınmadıkça iş istasyonundaki tüm hesaplar için geçerli hale getirir. Sistem genelindeki yapılandırmalar temel Git uygulamasının (örn. Windows için Git) bir parçası olduğundan, değişiklikler Yönetici ayrıcalıkları gerektirir. Git Bash, cmd veya PowerShell'i Yönetici olarak çalıştırın. Aşağıdaki komut sistem çapında yazarı ayarlayacaktır.

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

Bu “yazarın” amacı, başka bir yere konması gerektiğini hatırlatmaktır. Bu özellikle iş istasyonunda yeni kullanıcı hesapları kullanıldığında faydalıdır.

Bu ayarı doğrulamak için Git kullanan boş bir Java projesi oluşturun veya mevcut bir Git tabanlı projeyi açın. Bir sınıf oluşturun ve bağlam menüsünden ALT-SHIFT-J Kaynak → Öğe Açıklaması Oluştur'u kullanın veya bir JavaDoc yorumu başlatın. Ortaya çıkan @authoretiketin ardından uyarı gelmelidir.

Kalan yapılandırma değişiklikleri Yönetici ayrıcalıkları olmadan gerçekleştirilebilir.

Git Global (Kullanıcı) Yapılandırması - Global veya kullanıcı yapılandırmaları, belirli bir kullanıcıyla ilişkilendirilmiş olanlardır ve sistem genelindeki yapılandırmaları geçersiz kılar. Bu ayarlar, depo ayarları tarafından geçersiz kılınmadıkça tüm Git tabanlı projeler için geçerlidir. Yazar adı iş, açık kaynak katkıları veya kişisel gibi çeşitli proje türleri nedeniyle farklıysa, burada en sık kullanılanı ayarlayın.

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

Global değeri yapılandırdıktan sonra, erken kullanılan test projesine dönün ve bir sınıf yorumu uygulayın. @authorEtiket artık genel ayarı göstermelidir.

Git Deposu (Yerel) Yapılandırması - Son olarak, belirli bir proje için bir yazarı yapılandırmak için bir havuz veya yerel yapılandırma kullanılabilir. Önceki yapılandırmalardan farklı olarak, havuz içinden bir havuz yapılandırması yapılmalıdır. Git Bash, PowerShell vb. Kullanarak test projesinin deposuna gidin.

git config --local user.author “smithy”

Bu göz önüne alındığında, test projesindeki yeni yorumlar yerel olarak tanımlanmış yazar adını kullanacaktır. Git tabanlı diğer projeler, genel yazar adını kullanmaya devam edecek.

Tutulma İçinden

Yukarıdaki yapılandırma değişiklikleri Eclipse içinden Tercihleri aracılığıyla da ayarlanabilir : Ekip → Git-Configuration . Eclipse, sistem genelinde Git yapılandırmalarını değiştirmek için Yönetici olarak çalıştırılmalıdır.

Toplamda

Her ne kadar bu örnek özellikle en sık karşılaşılan sorun olan değişimle ilgili olsa da ${user}, bu yaklaşım daha fazlası için kullanılabilir. Ancak, özellikle amaçlanmadığı sürece Git tanımlı yapılandırma anahtarlarını kullanmamaya dikkat edilmelidir.


Bu güzel, ama neden sadece ${author:git_config(user.name)}standart olarak kullanmıyorsunuz ?
RobertDeRose

@RobD - Mesajda belirtildiği gibi (üstten 5. paragraf) - karışıklığı önlemek için. İstediğinizi kullanmakta özgürsünüz. Bir üretim ortamında proje yapılandırma öğelerini sistem yapılandırma öğelerinden ayırmak daha iyidir.
19'da

16

Tutulmada değişiklik ${user}yapmak yerine ,

-Duser.name=Whateverpleaseyou

içinde eclipse.inihangi Tutulma klasöründe bulunur.


3
-1 Hayır, UTF-8 olarak kaydedilen eclipse.ini bile àôéù ... gibi Fransızca aksanı doğru işlemiyor
Aubin

26
Dört yıl sonra kabul edilenle aynı çözümü paylaşmanın anlamı nedir?
PhiLho

2
@Aubin aslında şu anda hiçbir sorun ile áóë .. vb gibi aksan destekleyen bir tutulma çalıştırıyorum. Bu doğru ve yardımsever bir cevaptır.
Lucas Gabriel Sánchez

1
@PhiLho Bu cevap kompakt ve özlü, sadece 3 cümle. Ayrıca, seçilen cevaptaki bağlantı koptu.
johnnieb

3

dovescrywolf Davide Inglima tarafından bağlanan makale hakkında yorum yaptı

MacOS'ta benim için çok yararlı oldu.

  • Açılmışsa Eclipse'i kapatın.
  • Termnal'ı (bash konsolu) açın ve aşağıdakileri yapın:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your Name" >> eclipse.ini  
    $ cat eclipse.ini
  • Terminal'i kapatın ve Eclipse'i yeniden başlatın / açın.


1

Aradığımız dosya (Eclipse çalışma alanınızın içinde):

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

Değiştirmek istediğiniz isme sahip bir @author etiketi bulacaksınız. Eclipse'i yeniden başlatın ve işe yarayacaktır.

Aksanlar için Unicode biçimini kullanmanız gerekir (örneğin á için '\ u00E1').

'İni' dosyasını önceki yanıtların önerdiği gibi değiştirebilir veya global bir çözüm için kullanıcı adı var'ı ayarlayabilirsiniz. Veya yerel bir çözüm için Tercihler menüsündeki @author etiketini geçersiz kılın. Her ikisi de bu soruna geçerli çözümler.

Ama çoğumuzu rahatsız eden 'o' yazar adını arıyorsanız, bu dosyadadır.


Bu seçenek aslında tutulma tercihlerinde gösterilen ayarı elle değiştirir ({user} etiketini kaldırır).
Alfabravo

Eclipse Luna için dosya konumu güncel değil.
Martin Carney

Öyle $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/Mars'ta ... ve de vardır $WORKSPACE/$PROJECT/.settings/her proje için .... Belirtildiği gibi, bunlar elle daha rahat bir şekilde düzenlenebilen (ve OP tarafından açıkça hariç tutulabilen) çalışma alanı veya proje tercihleridir.
Dirk

0

/etc/eclipse.inigirdiyi içerecek şekilde düzenleyin ;

-Duser.name=myname

"Tutulma" yeniden başlatın ve şimdi, herhangi bir yeni dosya oluşturma sihirbaz (c / c ++ / java) ile, $ {user} yerine "myname" kullanır.


-1

Pencere -> Tercihler -> Java -> Kod Stili -> Kod Şablonları -> Yorumlar -> Türler Tage adınızı {{}} adına yönlendirin.

Önce

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

Sonra

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

resim açıklamasını buraya girin


-4

sadece diğer seçenek. Goto TERCİHLER >> JAVA >> EDİTÖR >> ŞABLONLAR Select @author ve değişken $ {kullanıcı} olarak değiştirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.