如何更改Eclipse模板中使用的$ {user}variables的值
而不是硬编码默认@author模板,我希望Eclipse使用帐户信息中的用户真实姓名(在Linux中 – 但Windows解决scheme也是受欢迎的)。 在Eclipseconfiguration中input它也是可以接受的,唉,我找不到合适的地方。
http://morlhon.net/blog/2005/09/07/eclipse-username/
看来最好的办法是在命令行重新定义java user.namevariables,或者在eclipse安装根目录下使用eclipse.ini文件。 这似乎对我很好:
-showsplash org.eclipse.platform --launcher.XXMaxPermSize 256M -vmargs -Dosgi.requiredJavaVersion=1.5 -Duser.name=Davide Inglima -Xms40m -Xmx512m
打开Eclipse,进入窗口 – >首选项 – > Java – >代码样式 – >代码模板 – >注释 – >types,然后按'编辑'button。 在那里你可以改变你的名字在生成的评论forms@Author $ {user} to @Author Rajish。
Windows > Preferences > Java > Code Style > Code Templates > Comments
或打开eclipse.ini
文件并添加以下内容。
-Duser.name=Sumit Singh // Your Name
在Eclipse中,而不是改变${user}
,build议引入
-Duser.name=Whateverpleaseyou
在你的eclipse文件夹中的eclipse.ini
中。
EGit解决scheme
人们会期望在基于项目,工作空间或环境的基础上创build或更改模板variables是标准的Eclipsefunction。 可悲的是,事实并非如此。 更重要的是,鉴于Eclipse插件可以定义新的variables和模板,应该有插件提供一个解决scheme。 如果是的话,他们一定很难find。 在Eclipse Marketplace中提供的mmm-TemplateVariable对于Maven用户来说是一个正确的方向,能够在模板中包含版本,artifactId等。
幸运的是, EGit是Git的一个Eclipse工具,为代码模板中包含许多不同的variables提供了非常灵活的手段。 唯一的要求是你的项目使用Git。 如果你不使用Git,但认真对待软件开发,现在是学习的时候了( Pro Git book )。 如果您不得不使用传统的版本控制系统,请尝试改变一些想法。
由于harmsk的努力,EGit 4.0及以上版本包含了在模板中使用Gitconfiguration键值的function。 这允许根据资源库设置(项目),用户设置(帐户)和/或全局设置(工作站)设置模板值。
以下示例显示如何为多用户开发工作站设置Eclipse和Git,并使用自定义Gitconfiguration密钥来代替${user}
以提供更大的灵活性。 虽然这个例子是基于Eclipse的Mars Mars和Git for Windows的Windows 10安装的,但是这个例子适用于使用它们各自的命令行工具运行Eclipse和Git的Linux和OSX。
为了避免Git的user.name
configuration密钥和Java的user.name
系统属性之间可能的混淆,一个定制的Gitconfiguration密钥user.author
将被用来提供一个作者的名字和/或证书。
configuration模板
Git模板variables的格式如下
${<name>:git_config(<key>)}
其中<name>
是任意的variables名称, <key>
是应该使用其值的Gitconfiguration键。 鉴于此,将“ 评论”→“types”模板更改为
/** * @author ${author:git_config(user.author)} * * ${tags} */
现在将尝试从Git的user.author
configuration键中parsing作者的名字。 没有任何进一步的configuration,任何新创build的评论将不会在@author
之后包含一个名字,因为还没有定义。
configurationGit
从命令行
Git System Configuration ( Git系统configuration) – 此configuration步骤对Git的适用于工作站上所有帐户的系统范围configuration进行更改,除非用户或存储库设置被覆盖。 由于系统范围的configuration是基础Git应用程序(例如Git for Windows)的一部分,所以更改将需要pipe理员权限。 以pipe理员身份运行Git Bash,cmd或PowerShell。 以下命令将设置系统范围的作者。
git config --system user.author “SET ME IN GLOBAL(USER) or REPOSITORY(LOCAL) SETTINGS”
这个“作者”的目的是作为提醒,应该在其他地方设置。 当在工作站上使用新的用户帐户时,这是特别有用的。
要validation此设置,请创build一个使用Git的空白Java项目,或者打开一个现有的基于Git的项目。 创build一个类并使用上下文菜单中的Source→Generate Element Comment , ALT-SHIFT-J ,或者启动一个JavaDoc注释。 产生的@author
标签之后应该是警告。
其余configuration更改可以在没有pipe理员权限的情况下执行
Git Global(用户)configuration – 全局或用户configuration是与特定用户关联的configuration,并将覆盖系统范围的configuration。 这些设置适用于所有基于Git的项目,除非被存储库设置覆盖。 如果作者姓名因工作types,开源贡献,个人等不同的项目types而有所不同,请在此设置最常用。
git config --global user.author “Mr. John Smith”
configuration全局值后,返回到早期使用的testing项目并应用类注释。 @author
标签现在应该显示全局设置。
Git存储库(本地)configuration – 最后,可以使用存储库或本地configuration为特定项目configuration作者。 与以前的configuration不同,存储库configuration必须在存储库内完成。 使用Git Bash,PowerShell等导航到testing项目的存储库。
git config --local user.author “smithy”
鉴于此,testing项目中的新评论将使用本地定义的作者姓名。 其他基于Git的项目仍将使用全局作者名称。
从Eclipse内部
上面的configuration更改也可以在Eclipse中通过它的Preferences:Team→Git-Configuration来设置 。 必须以pipe理员身份运行Eclipse才能更改系统范围的Gitconfiguration。
总共
虽然这个例子特别处理了最常见的问题,即更改${user}
,但这种方法可以用于更多。 但是,除非特意指定,否则应谨慎使用Git定义的configuration密钥。
dovescrywolf给小费作为对Davide Inglima连接的文章的评论
这对我在MacOS上非常有用。
- 如果打开,closuresEclipse。
-
打开Termnal(bash控制台),做下面的事情:
$ pwd / Users / You / YourEclipseInstalationDirectory
$ cd Eclipse.app/Contents/MacOS/
$ echo“Duser.name =您的名字”>> eclipse.ini
$ cat eclipse.ini -
closuresterminal并再次启动/打开Eclipse。
这是我们都在寻找的文件(在Eclipse工作区内):
.plugins / org.eclipse.core.runtime / .settings / org.eclipse.jdt.ui.prefs
你会find一个你想改变的@author标签。 重新启动Eclipse,它会工作。
对于重音你必须使用Unicode格式(例如'\ u00E1'为á)。
您也可以根据以前的答案build议修改'ini'文件,或者将全局解决scheme的用户名var设置为。 或者覆盖本地解决scheme的“首选项”菜单中的@author标记。 这些都是解决这个问题的有效办法。
但是,如果您正在寻找那个困扰我们大多数人的“那个”作者名字,那么就在那个文件中。
编辑文件/etc/eclipse.ini
,以包含条目为;
-Duser.name=myname
重新启动“eclipse”,现在,使用向导(c / c ++ / java)创build任何新文件时,将使用“myname”来代替$ {user}。
只是其他的select。 转到首选项>> JAVA >>编辑>>模板 ,select@作者,并更改variables$ {用户}。