如何使Eclipse在Windows 7任务栏中表现良好?


87

可以固定在任务栏上的所有其他应用程序运行良好。但是,当我右键单击它时,Eclipse不会显示最近打开的项目。它还不允许在其中固定一些项目。请注意,我有JS版本的Eclipse Helios。加载后会生成一个新的和不同的任务栏图标。


我发现,如果将eclipse.exe从Windows资源管理器拖到任务栏上,它也可以将其固定。
danca 2014年

Answers:


100

在中指定最新的可用Java VM eclipse.ini。即:

-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
  1. 确保它们在单独的行上
  2. “ vmargs”之后的所有内容均视为vm参数

更多信息

或可替换地添加Javabin文件夹到您的WindowsPATH 之前的“WINDOWS32”文件夹中,否则Eclipse使用“javaw.exe的”在Win32文件夹,而不是JDK之一。


11
请参阅错误314805:bugs.eclipse.org/bugs/show_bug.cgi?id= 314805 #c40 我只是使用jdk下的“ bin”目录,例如-vm C:/ Program Files / Java / jdk1.7.0_02 / bin
usethe4ce 2012年

3
我使用的是jdk1.6.0_25,而不是client一个server包含的目录jvm.dll。将此路径指定为-vm参数可用于Eclipse Java EE(Indigo Service Release 2)。
Kohányi罗伯特

26
最初,这两个选项都不适合我(Eclipse 4.2 32位,Windows 7 64位,JDK 1.6 32位)。然后,我尝试了以下操作:1.右键单击eclipse.exe->“属性”->“兼容性”,启用与Windows XP Service Pack 3的兼容模式。2.运行Eclipse。3.等待,直到工作空间被加载。4.固定到任务栏。5.关闭Eclipse。6.从eclipse.exe中删除了兼容性设置。7.运行Eclipse。还是行不通!8.从任务栏取消固定,然后再次固定。(???)9.现在就可以了...
MarioVilas 2012年

1
哇,Marios的方式是第一个为我工作的方式。请注意,我还必须在eclipse.ini中设置“ -vm ...”参数(否则它将根本不允许固定),并且我没有“ Windows XP Service Pack 3”但具有“ Windows Vista”兼容性,可能是因为我在64位环境中使用了Eclipse ...
Steffen Heil 2012年

3
我使用了解决方案2-将bin文件夹添加到Windows PATH。我已经做完了,所以为了做对事情,我还需要取消固定Eclipse,因为我在更新路径之前将其固定了,然后在直接从eclipse文件夹中启动它之后重新固定了它。
Dale 2012年

28

Riccardo的Eclipse错误报告中的解决方案对我有用,但是我没有从任务栏中获得最近打开的项目等。是否有人遇到这些变通办法还原该行为?

我在带有Helios x64的Windows 7 x64上遇到相同的问题,但是对我来说,以下解决方法适用于任务栏按钮的选项“始终合并,隐藏标签”。

  • 检查“ eclipse.ini”中是否有指定的VM,并确保路径指向JDK或JRE的bin目录(而不是javaw.exe)。对我来说,参数是“ D:/ Development / Languages / Java / Development Kit / bin /”,不带引号。
  • 从任务栏中取消固定Eclipse或删除快捷方式
  • 从资源管理器中运行“ eclipse.exe”并选择您的工作区
  • 初始屏幕加载后以及显示主窗口时,将Eclipse固定到任务栏

2
尝试了该线程上的所有内容-这对我有用。取消固定然后重新固定是关键。
Bill Hanson

2
关键是使用到JDK bin的目录路径,而不是到可执行文件的目录路径。谢谢。
格雷格·雷诺兹

15

将eclipse.exe设置为兼容模式有效


1
哈哈,您知道的,起初我没有尝试过,因为它听起来太简单了,但这对我有用。现在,我可以将Helios和Indigo毫无问题地固定在任务栏上了。注意:我也仍然有.ini编辑。谢谢!+10000000
杰克

-vm设置为兼容模式后,不要忘记删除该参数。当我同时拥有时,Eclipse根本无法启动。
fracz 2013年

3
通过将兼容模式设置为Windows Vista,可以在Windows 7中使用。
starryknight64

使用Eclipse Mars,它有使EGit崩溃的不幸副作用
Aivar

4

我只想为Win10用户添加它。

编辑eclipse.ini以在行的末尾添加这些行--launcher.appendVmargs:

-vm C:/Program Files/Java/jdk1.8.0/jre/bin/server/jvm.dll

您还需要设置与Windows Vista的兼容性,以使其正常工作。


3

我认为重要的是要提到,至少对我来说,即使我使用Windows(即7),也要使用正斜杠在eclipse.ini中将虚拟机路径添加到其中。当我使用反斜杠时,Eclipse没有启动。


2

最近,Timo Kinnunen指出了问题所在

编辑eclipse.ini,找到以下行:

--launcher.appendVmargs:

并将其更改为

--launcher.appendVmargs:-vm <PATH_TO_JAVA>/jdk1.8.0/jre/bin/server/jvm.dll

这将导致JVM与eclipse.exe在同一进程中启动,而不是作为子进程启动,并避免了带有AppUserModelIDs的主机进程的复杂性。

它的工作原理!


2

到目前为止,这里在StackOverflow上提供的解决方案还没有一个简单的解决方案来运行多个Eclipse,而每个Eclipse都有自己的Application ID,并使图标分组按预期工作。这里的答案确实提供了对基础System.AppUserModel.ID属性的引用。

这是一个快速的HOWTO

  1. 执行-vm设定为大量的人在这里提到
  2. 运行Eclipse应用程序
  3. 右键点击正在运行的任务栏图标, Pin this program to taskbar
  4. 导航 %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar
  5. 将新创建的快捷方式复制到另一个位置。它的名字eclipseeclipse (2)eclipse (3)
  6. 右键点击正在运行的任务栏图标, Unpin this program from taskbar
  7. 使用“快捷方式属性”对话框将所有单个字段(目标+参数,工作目录,图标等)复制到新快捷方式
  8. 重命名新的快捷方式
  9. 将新的快捷方式拖到Windows任务栏
  10. 完成了

这是扩展的HOWTO,如果希望每个Eclipse实例的图标分组分开(如果有多个实例在运行),则很有用:

  1. 例如,找出您的启动插件是什么org.eclipse.epp.package.java_2.0.1.20130919-0803。打开该plugin.xml文件夹的文件。
  2. 在该文件中编辑以下XML位置:/plugin/extension/product/property[@name="appName"],将属性设置value为其他名称。不要使用空格,长度应保持在(直到)40以下。
  3. 也可以选择设置窗口标题:/plugin/extension/product/property[@name],将属性设置name为其他内容。
  4. 在现有的Eclipse快捷方式中,追加-clean并运行一次。您会注意到//product/property[@name]Eclipse窗口标题中使用的属性。之后,您可以-clean再次删除。
  5. 按照快速HOWTO以上

关于这里发生的事情的简要说明:

  1. 在.lnk文件中,存储了一个属性,无法使用Windows的“快捷方式属性”对话框输入该属性。如果复制.lnk文件,则属性将与其一起复制。
  2. Windows通过相同的System.AppUserModel.ID属性分组,AppID简称
  3. EclipseAppID在启动时没有。首先启动JVM,然后启动eclipse核心/平台,然后加载启动插件。在最后一个阶段,完成了API调用,将设置AppIDplugin.xml文件内的值。参见上文:扩展的HOWTO项目2
  4. 当您将手动创建的快捷方式.lnk文件拖到任务栏时,Windows不能将其AppID放入.lnk文件的新“固定”版本中是有意义的。它只能在运行时检测到。
  5. 当您启动Eclipse应用程序时,右键单击正在运行的任务栏图标,Pin this program to taskbar->然后Windows将检测到AppID并将其存储在“固定” .lnk中。但是,部分由于JVM进程的重定向,Windows无法检测命令行参数,环境,工作文件夹(至少在启动时)以及图标路径+图标索引。因此,您必须:
    1. 制作.lnk文件的文件副本,然后自己填写缺失的空白
    2. 或者,使用了解System.AppUserModel.ID属性的快捷方式创建工具(有很多)
    3. 或者,直接使用Windows API

衷心希望这将减少我周围工作站上的haywire Eclipse任务栏图标的数量,

TW干杯


1
非常深入的回答,谢谢。该System.AppUserModel.ID解释就是我一直在寻找了一段时间!
Stefan Winkler,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.