Eclipseテンプレートで使用される$ {user}変数の値を変更する方法


261

デフォルトの@authorテンプレートをハードコーディングする代わりに、Eclipseがアカウント情報から取得したユーザーの本名を使用するようにします(Linuxでは-Windowsソリューションも大歓迎です)。Eclipse構成のどこかにそれを入力することも許容されますが、適切な場所が見つからない場合もあります。


1
気になる場合は、System.getProperty( "user.name")を呼び出して変数のデフォルトバージョンを取得できます。Javaが変数を取得する場所は、システムによって異なります。
MaciejBiłas09年

この記事は、Eclipseが変数の値を決定するために使用する順序を示しています。martijndashorst.com/blog/2006/04/21/...
スティーブン・チェンマイ

StevenMaiのリンクは機能していません...アーカイブバージョンは次のとおりです:web.archive.org/web/20180927010751/http
Sometowngeek

回答:


286

user.nameコマンドラインで、またはeclipse.iniEclipseインストールルートディレクトリのファイルを使用して、java 変数を再定義することをお勧めします。

これは私にとってはうまくいくようです:

-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/ is a dead link ...

これが新しいものです:https : //web.archive.org/web/20111225025454/http : //morlhon.net : 80/ blog/ 2005 / 09 / 07 / eclipse-username/


16
リスクは、これがユーザーID(user.nameプロパティの文書化された値)を知る必要があるプラグインを破壊することです。Eclipseがその変数に使用する値を調整するより良い方法があれば、すばらしいでしょう。
地殻変動

30
"問題を引き起こした私にとって、私はしなければなりませんでした:-Duser.name=Ron Kitayそれを適切に動作させる
RonK

27
さらに良い解決策は、Eclipseが$ {programmer}などの別の変数を定義してテンプレートで使用できるようにすることです(または、ユーザーが独自の変数を作成できるようにすることもできます)。しかし、これはEclipseです、ため息。
Scott Biggs

3
-Duser.name来なければならないの後に-vmargs(Eclipseの火星でテスト済み)フラグ。
Jan Chimiak 2016年

2
デッドリンク、これはアーカイブです:web.archive.org/web/20111225025454/http
//morlhon.net

96

Eclipseを開き、[ウィンドウ]-> [設定]-> [Java]-> [コードスタイル]-> [コードテンプレート]-> [コメント]-> [タイプ]に移動し、[編集]ボタンを押します。そこで、生成されたコメントの名前を@Author $ {user}から@Author Rajishに変更できます。


41
それは質問に対する答えではありません
ラジッシュ

15
@Rajish:あなたは完全に正しいですが、それが唯一の合理的な回避策かもしれません。オプションを評価した後、それは私がやったことです。
Scott Biggs

13
これは私の意見で最良の答えです-プラットフォームに依存し、間違いなく彼らが達成するタスクにとって扱いにくい、コマンドラインとeclipse.iniをいじるのではなく、プロジェクトごとの設定をしたいことがよくあります-そしてそれを行う上記のようなプロジェクトプロパティは、現時点ではそれを行う唯一の方法である可能性があります。
2012年

2
Javaだけでなく、Eclipseを使用する言語やエディターがたくさんあるので、私は正しい答えではないと思います。そのため、他のすべての言語ではなく、Eclipseを使用してJavaを編集する問題のみが解決されます。
Lucas

4
他のユーザーと共有テンプレート定義を使用している場合も、このソリューションは適切ではありません。
Christopher Barber 14

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

ここに画像の説明を入力してください

またはeclipse.iniファイルを開いて以下を追加します。

-Duser.name=Sumit Singh // Your Name

ここに画像の説明を入力してください


18

EGitソリューション

プロジェクト、ワークスペース、または環境ベースでのテンプレート変数の作成または変更は、標準のEclipse機能であると予想されます。残念ながらそうではありません。さらに、Eclipseプラグインは新しい変数とテンプレートを定義できるので、ソリューションを提供するプラグインがそこにあるはずです。もしそうなら、見つけるのは難しいに違いない。Eclipse Marketplaceで入手可能なmmm-TemplateVariableは、Mavenユーザーにとって正しい方向への一歩であり、バージョン、artifactIdなどをテンプレートに含めることができます。

幸い、GitのEclipseツールであるEGitは、コードテンプレートに多くの異なる変数を含めるための非常に柔軟な手段を提供します。唯一の要件は、プロジェクトでGitを使用することです。Gitを使用していないが、ソフトウェア開発に真剣に取り組んでいる場合は、今こそ学ぶべき時です(Pro Gitブック)。レガシーバージョン管理システムを使用せざるを得ない場合は、考えを変えてみてください。

harmskの取り組みのおかげで、EGit 4.0以降には、テンプレートでGit構成キーの値を使用する機能が含まれています。これにより、リポジトリ設定(プロジェクト)、ユーザー設定(アカウント)、グローバル設定(ワークステーション)に基づいてテンプレート値を設定できます。

次の例は、マルチユーザー開発ワークステーション用にEclipseとGitをセットアップし、代わりにカスタムGit構成キー${user}を使用して柔軟性を高める方法を示しています。この例はEclipse MarsおよびGit for WindowsのWindows 10インストールに基づいていますが、例は、それぞれのコマンドラインツールを使用してEclipseおよびGitを実行しているLinuxおよびOSXに適用できます。

Gitのuser.name構成キーとJavaのuser.nameシステムプロパティとの混乱を避けるため、カスタムGit構成キー– user.author–を使用して、作成者の名前や資格情報を提供します。

テンプレートの構成

Gitテンプレート変数の形式は次のとおりです

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

ここで、<name>は任意の変数名で<key>あり、値を使用する必要があるGit構成キーです。そこで、コメント→タイプテンプレートを

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

これで、Gitのuser.author構成キーから作成者の名前を解決しようとします。それ以上の設定がない場合、@authorまだ定義されていないため、新しく作成されたコメントにはの後に名前が含まれません。

Gitの構成

コマンドラインから

Gitシステム構成 -この構成手順では、Gitのシステム全体の構成を変更し、ユーザーまたはリポジトリーの設定で上書きされない限り、ワークステーション上のすべてのアカウントに適用できます。システム全体の構成は基盤となるGitアプリケーション(WindowsのGitなど)の一部であるため、変更には管理者権限が必要です。管理者としてGit Bash、cmd、またはPowerShellを実行します。次のコマンドは、システム全体の作成者を設定します。

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

この「作成者」の目的は、別の場所に設定する必要があることを思い出させることです。これは、ワークステーションで新しいユーザーアカウントが使用されている場合に特に便利です。

この設定を確認するには、Gitを使用する空のJavaプロジェクトを作成するか、既存のGitベースのプロジェクトを開きます。クラスを作成し、コンテキストメニューのALT-SHIFT-Jから[ Source]→[Generate Element Comment ] を使用するか、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-構成]からも設定できます。システム全体のGit構成を変更するには、Eclipseを管理者として実行する必要があります。

まとめて

この例では、最も一般的な問題であるの変更について具体的に取り上げましたが${user}、このアプローチはさらに多くの場合に使用できます。ただし、特に意図されていない限り、Git定義の構成キーを使用しないように注意する必要があります。


これはいいですが、${author:git_config(user.name)}既に標準になっているので使用しないでください。
RobertDeRose

@RobD-投稿で述べたように(上から5番目の段落)-混乱を避けるため。好きなように自由に使えます。実稼働環境では、プロジェクト構成アイテムをシステム構成アイテムから分離することをお勧めします。
Frelling

16

${user}日食で変更するのではなく、導入することをお勧めします

-Duser.name=Whateverpleaseyou

eclipse.iniどのEclipseのフォルダに存在しています。


3
-1いいえ、UTF-8として保存されたeclipse.iniもàôéù...のようなフランス語のアクセントを正しく処理しません...
Aubin

26
投稿のポイントは、4年後、承認されたものと同じソリューションですか?
PhiLho

2
@Aubinは、実際にはáóë..などのアクセントをサポートするEclipseを問題なく実行しています。したがって、これは正解で役立つ回答です。
Lucas GabrielSánchez2013年

1
@PhiLhoこの回答はコンパクトで簡潔な3文のみです。また、選択した回答のリンクが壊れています。
johnnieb 2017

3

dovescrywolfが、Davide Inglimaによってリンクされた記事へのコメントとしてヒントを与えました

MacOSでは私にとって非常に役に立ちました。

  • Eclipseが開いている場合は閉じます。
  • Termnal(bashコンソール)を開き、以下を実行します。

    $ 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タグをオーバーライドします。これらはどちらもこの問題に対する有効な解決策です。

しかし、私たちのほとんどを悩ませている「あの」著者名を探しているなら、そのファイルにあります。


このオプションは実際に、Eclipse設定に表示される設定を手動で変更します(タグ{user}を削除します)。
Alfabravo 2014年

Eclipse Lunaのファイルの場所が古くなっています。
Martin Carney

それは$WORKSPACE/.metadata/.plugins/org.eclipse.core.runtime/.settings/…火星にあり、$WORKSPACE/$PROJECT/.settings/プロジェクトごとに… もあります。前述のように、これらはワークスペースまたはプロジェクトの設定であり、手動でより快適に編集できます(OPによって明示的に除外されます)。
Dirk

0

/etc/eclipse.iniエントリを含むようにファイルを編集します。

-Duser.name=myname

「eclipse」を再起動すると、ウィザード(c / c ++ / java)で新しいファイルを作成すると、$ {user}の代わりに「myname」が使用されます。


-1

ウィンドウ->設定-> Java->コードスタイル->コードテンプレート->コメント->タイプタグの前に$ {user}を付けます。

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

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

ここに画像の説明を入力してください


-4

ちょうど他のオプション。後藤PREFERENCES >> JAVA >> EDITOR >> TEMPLATES、選択@authorとは、変数$ {ユーザー}を変更します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.