Cara mengubah nilai variabel $ {user} yang digunakan dalam templat Eclipse

261

Alih-alih meng-hardcode templat @author default, saya ingin Eclipse menggunakan nama asli pengguna yang diambil dari informasi akun (di Linux - tetapi solusi Windows juga diterima). Memasukkannya di suatu tempat ke dalam konfigurasi Eclipse juga dapat diterima, sayangnya saya tidak dapat menemukan tempat yang tepat.

Rajish
sumber
1
Jika Anda penasaran, versi variabel standar dapat diperoleh dengan memanggil: System.getProperty ("user.name") dan dari mana Java mengambilnya bergantung pada sistem.
Maciej Biłas
Artikel ini menunjukkan urutan gerhana yang digunakan untuk menentukan nilai variabel yang menurut saya sangat membantu. martijndashorst.com/blog/2006/04/21/…
Steven Mai
Tautan StevenMai sudah mati ... Berikut ini versi yang diarsipkan: web.archive.org/web/20180927010751/http://…
sometowngeek

Jawaban:

286

Tampaknya pilihan terbaik Anda adalah mendefinisikan ulang user.namevariabel java baik di baris perintah Anda, atau menggunakan eclipse.inifile di direktori root install eclipse Anda.

Ini sepertinya bekerja dengan baik untuk saya:

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

Memperbarui:

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

Ini yang baru: https://web.archive.org/web/20111225025454/http://morlhon.net:80/blog/2005/09/07/eclipse-username/

Davide Inglima
sumber
16
Risikonya adalah ini akan memutuskan plug in yang perlu mengetahui ID pengguna (yang merupakan nilai yang didokumentasikan dari properti user.name). Alangkah baiknya jika ada cara yang lebih baik untuk menyesuaikan nilai Eclipse akan digunakan untuk variabel itu.
Diastrophism
30
Bagi saya yang "menyebabkan masalah, saya harus melakukan: -Duser.name=Ron Kitayuntuk membuatnya berperilaku baik
RonK
27
Solusi BETTER yang lebih baik bagi Eclipse untuk memiliki variabel lain seperti $ {programmer} yang dapat didefinisikan dan kemudian digunakan dalam templat (atau bahkan memungkinkan orang untuk membuat variabel sendiri!). Tapi ini Eclipse, huh.
Scott Biggs
3
The -Duser.nameharus datang setelah para -vmargsbendera (diuji dengan Eclipse Mars).
Jan Chimiak
2
Tautan mati, inilah arsip: web.archive.org/web/20111225025454/http://morlhon.net:80/blog/…
nloveladyallen
96

Buka Eclipse, arahkan ke Window -> Preferences -> Java -> Style Code -> Templat Kode -> Komentar -> Jenis dan kemudian tekan tombol 'Edit'. Di sana Anda dapat mengubah nama Anda di komentar yang dihasilkan dari @Author $ {user} menjadi @Author Rajish.

singletony
sumber
41
Itu bukan jawaban untuk pertanyaan
Rajish
15
@ Rajish: Anda memang benar, tetapi mungkin ini satu-satunya solusi yang masuk akal. Setelah mengevaluasi opsi, itulah yang saya lakukan.
Scott Biggs
13
Ini adalah jawaban terbaik menurut saya - daripada mengotak-atik baris perintah dan eclipse.ini, yang bergantung pada platform dan bisa dibilang terlalu rumit untuk tugas yang mereka selesaikan, orang hanya sering ingin melakukan pengaturan per proyek - dan melakukannya di Properti proyek seperti yang disarankan di atas mungkin saat ini menjadi satu-satunya cara untuk melakukannya.
amn
2
Saya pikir itu bukan jawaban yang tepat karena ada banyak bahasa dan editor menggunakan Eclipse, bukan hanya Java. Sehingga itu hanya menyelesaikan masalah bagi yang menggunakan Eclipse untuk mengedit Java, tidak semua bahasa lainnya.
Lucas Gabriel Sánchez
4
Solusi ini juga tidak sesuai jika Anda menggunakan definisi templat bersama dengan pengguna lain.
Christopher Barber
36
Windows > Preferences > Java > Code Style > Code Templates > Comments

masukkan deskripsi gambar di sini

Atau Buka eclipse.inifile dan tambahkan berikut ini.

-Duser.name=Sumit Singh // Your Name

masukkan deskripsi gambar di sini

Sumit Singh
sumber
18

Solusi EGit

Orang akan berharap membuat atau mengubah variabel template pada proyek, ruang kerja, atau berbasis lingkungan adalah fitur Eclipse standar. Sayangnya tidak. Terlebih lagi, mengingat bahwa plugin Eclipse dapat menentukan variabel dan templat baru, harus ada plugin di luar sana yang menyediakan solusi. Jika ya, pasti sulit ditemukan. mmm-TemplateVariable , yang tersedia di Eclipse Marketplace, adalah langkah ke arah yang benar untuk pengguna Maven, memberikan kemampuan untuk memasukkan versi, artifactId, dll dalam templat.

Untungnya, EGit , yang merupakan alat Eclipse untuk Git, menyediakan cara yang sangat fleksibel untuk memasukkan berbagai variabel dalam templat kode. Satu-satunya persyaratan adalah bahwa proyek Anda menggunakan Git. Jika Anda tidak menggunakan Git, tetapi serius tentang pengembangan perangkat lunak, sekarang saatnya untuk belajar ( buku Pro Git ). Jika Anda terpaksa menggunakan sistem kontrol versi lama, coba ubah beberapa pikiran.

Berkat upaya harmsk , EGit 4.0 dan di atasnya mencakup kemampuan untuk menggunakan nilai-nilai kunci konfigurasi Git dalam templat. Ini memungkinkan pengaturan nilai template berdasarkan pengaturan repositori (proyek), pengaturan pengguna (akun), dan / atau pengaturan global (workstation).

Contoh berikut menunjukkan cara mengatur Eclipse dan Git untuk workstation pengembangan multi-pengguna dan menggunakan kunci konfigurasi Git khusus sebagai pengganti ${user}untuk memberikan lebih banyak fleksibilitas. Meskipun contoh ini didasarkan pada instalasi Windows 10 dari Eclipse Mars dan Git untuk Windows, contoh ini berlaku untuk Linux dan OSX yang menjalankan Eclipse dan Git menggunakan masing-masing alat baris perintah.

Untuk menghindari kemungkinan kebingungan antara user.namekunci konfigurasi Git dan user.nameproperti sistem Java , kunci konfigurasi kustom Git - user.author- akan digunakan untuk memberikan nama penulis dan / atau kredensial.

Mengkonfigurasi Template

Format variabel template Git adalah sebagai berikut

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

di mana <name>ada sembarang nama variabel dan <key>merupakan kunci konfigurasi Git yang nilainya harus digunakan. Karena itu, ubah templat Komentar → Jenis menjadi

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

sekarang akan mencoba untuk menyelesaikan nama penulis dari user.authorkunci konfigurasi Git . Tanpa konfigurasi lebih lanjut, komentar apa pun yang baru dibuat tidak akan menyertakan nama setelah @author, karena belum ada yang didefinisikan.

Mengkonfigurasi Git

Dari baris perintah

Konfigurasi Sistem Git - Langkah konfigurasi ini membuat perubahan pada konfigurasi seluruh sistem Git yang berlaku untuk semua akun di workstation kecuali ditimpa oleh pengaturan pengguna atau repositori. Karena konfigurasi seluruh sistem adalah bagian dari aplikasi Git yang mendasarinya (misalnya Git untuk Windows), perubahan akan memerlukan hak istimewa Administrator. Jalankan Git Bash, cmd, atau PowerShell sebagai Administrator. Perintah berikut akan mengatur penulis seluruh sistem.

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

Tujuan dari "penulis" ini adalah untuk mengingatkan bahwa itu harus diatur di tempat lain. Ini sangat berguna ketika akun pengguna baru sedang digunakan di workstation.

Untuk memverifikasi pengaturan ini, buat proyek Java kosong yang menggunakan Git atau buka proyek berbasis Git yang ada. Buat kelas dan gunakan Sumber → Hasilkan Elemen Komentar dari menu konteks, ALT-SHIFT-J , atau mulai komentar JavaDoc. @authorTag yang dihasilkan harus diikuti oleh peringatan.

Perubahan konfigurasi yang tersisa dapat dilakukan tanpa hak administrator.

Konfigurasi Git Global (Pengguna) - Global, atau pengguna, konfigurasi adalah yang terkait dengan pengguna tertentu dan akan mengesampingkan konfigurasi seluruh sistem. Pengaturan ini berlaku untuk semua proyek berbasis Git kecuali ditimpa oleh pengaturan repositori. Jika nama penulis berbeda karena berbagai jenis proyek seperti untuk pekerjaan, kontribusi sumber terbuka, atau pribadi, tetapkan yang paling sering digunakan di sini.

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

Setelah mengonfigurasi nilai global, kembalilah ke proyek uji yang digunakan lebih awal dan terapkan komentar kelas. The @authortag sekarang harus menunjukkan pengaturan global.

Konfigurasi Git Repositori (Lokal) - Terakhir, konfigurasi repositori atau lokal dapat digunakan untuk mengonfigurasi penulis untuk proyek tertentu. Berbeda dengan konfigurasi sebelumnya, konfigurasi repositori harus dilakukan dari dalam repositori. Menggunakan Git Bash, PowerShell, dll. Menavigasi ke repositori proyek uji.

git config --local user.author “smithy”

Dengan ini, komentar baru dalam proyek uji akan menggunakan nama penulis yang ditentukan secara lokal. Proyek berbasis Git lainnya, masih akan menggunakan nama penulis global.

Dari Within Eclipse

Perubahan konfigurasi di atas juga dapat diatur dari dalam Eclipse melalui Preferensi: Tim → Git-Configuration . Eclipse harus dijalankan sebagai Administrator untuk mengubah konfigurasi Git seluruh sistem.

Alhasil

Meskipun contoh ini secara khusus menangani masalah yang paling umum, yaitu perubahan ${user}, pendekatan ini dapat digunakan untuk lebih banyak hal. Namun, kehati-hatian harus dilakukan untuk tidak menggunakan kunci konfigurasi yang ditentukan Git, kecuali jika memang dimaksudkan secara khusus.

Frelling
sumber
Ini bagus, tapi mengapa tidak hanya digunakan ${author:git_config(user.name)}karena sudah standar?
RobertDeRose
@RobD - Seperti disebutkan dalam posting (paragraf ke-5 dari atas) - untuk menghindari kebingungan. Anda bebas menggunakan apa pun yang Anda inginkan. Meskipun dalam lingkungan produksi lebih baik memisahkan item konfigurasi proyek dari item konfigurasi sistem.
Frelling
16

Daripada berubah ${user}dalam gerhana, disarankan untuk memperkenalkan

-Duser.name=Whateverpleaseyou

di eclipse.inimana ada di folder gerhana Anda.

Anuj Balan
sumber
3
-1 Tidak, eclipse.ini bahkan disimpan sebagai UTF-8 tidak menangani dengan benar aksen Prancis seperti àôéù ...
Aubin
26
Apa gunanya memposting, empat tahun kemudian, solusi yang sama dari solusi yang diterima?
PhiLho
2
@Ubin sebenarnya sekarang saya sedang menjalankan gerhana yang mendukung aksen seperti áóë .. dll tanpa masalah. Jadi ini adalah jawaban yang benar dan bermanfaat.
Lucas Gabriel Sánchez
1
@ PhhiLho Jawaban ini ringkas dan ringkas, hanya 3 kalimat. Juga, tautan dalam jawaban yang dipilih rusak.
johnnieb
3

dovescrywolf memberi tip sebagai komentar pada artikel yang dihubungkan oleh Davide Inglima

Itu sangat berguna bagi saya di MacOS.

  • Tutup Eclipse jika dibuka.
  • Buka Termnal (bash console) dan lakukan hal-hal di bawah ini:

    $ pwd /Users/You/YourEclipseInstalationDirectory  
    $ cd Eclipse.app/Contents/MacOS/  
    $ echo "-Duser.name=Your Name" >> eclipse.ini  
    $ cat eclipse.ini
  • Tutup Terminal dan mulai / buka Eclipse lagi.

Łukasz Siwiński
sumber
1

Ini adalah file yang kita semua cari (di dalam ruang kerja Eclipse Anda):

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

Anda akan menemukan tag @author dengan nama yang ingin Anda ubah. Mulai ulang Eclipse dan itu akan berhasil.

Untuk aksen, Anda harus menggunakan format Unicode (mis. '\ U00E1' untuk á).

Anda juga dapat memodifikasi file 'ini' sebagai jawaban sebelumnya menyarankan atau mengatur nama pengguna var untuk solusi global. Atau ganti tag @author di menu Preferensi untuk solusi lokal. Keduanya adalah solusi yang valid untuk masalah ini.

Tetapi jika Anda mencari nama penulis 'itu' yang mengganggu sebagian besar dari kita, ada di file itu.

FranMowinckel
sumber
Opsi ini benar-benar mengubah pengaturan yang ditunjukkan dalam preferensi gerhana (menghapus tag {user}), dengan tangan.
Alfabravo
Lokasi file kedaluwarsa untuk Eclipse Luna.
Martin Carney
Itu $WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/... di Mars, dan ada juga $WORKSPACE/$PROJECT/.settings/... untuk setiap proyek. Seperti disebutkan, ini adalah ruang kerja atau preferensi proyek, yang dapat lebih nyaman diedit dengan tangan (dan secara eksplisit dikecualikan oleh OP).
Dirk
0

edit file /etc/eclipse.ini, sehingga mengandung entri sebagai;

-Duser.name=myname

Mulai ulang "eclipse" dan sekarang, saat membuat file baru, dengan wizard (c / c ++ / java), ia akan menggunakan "myname" sebagai pengganti $ {user}.

parasrish
sumber
-1

Window -> Preferences -> Java -> Style Code -> Code Templates -> Comments -> Type Chnage the tage infront $ {user} ke nama Anda.

Sebelum

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

Setelah

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

masukkan deskripsi gambar di sini

Waqas Ahmed
sumber
-4

hanya pilihan lain. goto PREFERENSI >> JAVA >> EDITOR >> TEMPLATES , Pilih @author dan ubah variabel $ {user}.

OJVM
sumber