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

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

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

 -vm jdk1.6.0_10\jre\bin\client\jvm.dll 
  1. 确保他们在单独的线路上
  2. “vmargs”之后的任何内容都被认为是vm的参数

( 更多信息 )

或者,也可以在“windows32”文件夹之前将java bin文件夹添加到Windows PATH ,否则eclipse将使用win32文件夹中的“javaw.exe”而不是JDK文件夹。

Riccardo的Eclipse bug报告解决scheme适用于我,但是我没有从任务栏中获得最近打开的项目等。 有没有人遇到这些解决方法恢复该行为?

我在使用Helios x64的Windows 7 x64上遇到了同样的问题,但是对于我来说,下面的解决方法适用于任务栏button的“始终组合,隐藏标签”选项。

  • 检查指定虚拟机的“eclipse.ini”,确保path指向JDK或JRE的bin目录(而不是javaw.exe)。 对于我来说,参数是“D:/开发/语言/ Java /开发工具包/ bin /”没有引号。
  • 从任务栏取消固定Eclipse或删除快捷方式
  • 从资源pipe理器运行“eclipse.exe”并select你的工作区
  • 启动屏幕加载后,显示主窗口时将Eclipse引导至任务栏

将eclipse.exe设置为兼容模式

我只是想为Win10用户添加这个。

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

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

您还需要将兼容性设置为Windows Vista以使其工作。

我认为重要的是要提到,至less对我来说,重要的是在eclipse.ini中添加正斜杠的vmpath,即使我正在使用Windows(7)。 当我使用反斜杠时,Eclipse没有启动。

Timo Kinnunen最近指出了这个问题

编辑eclipse.inifind这一行:

 --launcher.appendVmargs: 

并将其更改为

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

这会导致JVM以与eclipse.exe相同的进程启动,而不是作为subprocess启动,并避免使用AppUserModelIDs错综复杂的主机进程。

它工作!

迄今为止,在StackOverflow中提供的解决scheme,没有一个简单的修复方法来运行多个日食,而每个拥有自己的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. 将新创build的快捷方式复制到另一个位置。 它将被命名为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设置为其他value 。 不要使用空格,保持长度在40以下。
  3. 也可以设置窗口标题: /plugin/extension/product/property[@name] ,设置属性name
  4. 在现有的Eclipse快捷方式中,追加-clean并运行一次。 您会注意到Eclipse窗口标题中使用的//product/property[@name]属性。 之后,您可以删除 – 再次清理。
  5. 按照上面的快速HOWTO

有关这里发生了什么的快速解释:

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

真心希望这会减less在我周围的工作站上的繁琐的Eclipse任务栏图标的数量,

干杯,TW