在Windows 8.1高分辨率屏幕上,Eclipse界面图标非常小。

139

Eclipse(Kepler版)界面中的各个图标和按钮在分辨率为3200x1800px的笔记本电脑上非常小。除非我把鼻子凑到屏幕上,否则很难看清楚出现在文件上的红色错误标记。

我尝试调整操作系统(Windows 8.1)中的屏幕分辨率和其他设置,虽然有所帮助,但导致其他应用程序变得过大,即使这样,Eclipse的图标仍然非常小。在Eclipse首选项(窗口>首选项>对话框字体)中放大字体大小并不影响图标大小。

有没有简单的方法强制放大图标?有什么解决方法(我使用了放大镜,但那是一个相当笨重的解决方案)?我应该买一把放大镜放在鼠标旁边吗?也许有人应该制造带有嵌入式放大镜的鼠标?:)

谢谢。


你可以尝试在Windows中关闭Aero模式,这可能会改变视图图标,或者仅为Eclipse更改屏幕分辨率。 - Lucky
我注意到当Eclipse启动时,启动画面最初会以正确的方式放大显示,但在某些时候会恢复到正常分辨率(小)。这在工作台中持续存在。我想知道是否在从.exe执行切换到JVM时发生了这种情况,然后失去了Windows需要正确缩放的一些信息? - nilskp
4
虽然这些答案中有许多好的解决方法,但是Eclipse官方存在一个错误报告(https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383)。如果这个问题影响到您,请投票支持该缺陷,以便优先处理。 - LondonAppDev
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Redsandro
解决方法。我有在kubuntu 19.10 (kde5)上使用Eclipse的经验。C/C++开发者的Eclipse IDE版本为2019-09 R(4.13.0),构建ID为20190917-1200。笔记本电脑的原生/最高屏幕分辨率为3840x2160(HP spectre x360),与缩放显示因子3一起使用。我手动编辑了eclipse/eclipse.ini以包含(Dsun.java2d.dpiaware=true) --launcher.appendVmargs -vmargs -Dsun.java2d.dpiaware=true - Marian K.
显示剩余4条评论
25个回答

98
我也曾经为这个问题苦恼过一段时间。我注意到你们很多人发布了非常复杂的解决方案,但实际上有一个更简单的方法!只需要一个程序,你不需要修改脚本或安装第三方工具。这个问题与高DPI缩放有关,正如上面提到的,但我认为你们中很多人忽略了一个事实:你不能直接修改启动器本身的兼容性设置。启动器和eclipse是两个不同的程序!你需要浏览到Eclipse.exe并覆盖那里的高DPI缩放选项。一旦设置好,你就可以像平常一样使用启动器了。启动器将会启动可执行文件eclipse.exe,并且由于你在.exe上设置了兼容性设置,它将使用这些设置运行。我花了大约10分钟找到exe的位置,如果有帮助的话,我的exe位于: C:\Users\username\AppData\Local\Yatta\Launcher\installations\eclipse-ide-for-java-developers\eclipse.exe 下面是我设置兼容性设置的屏幕截图。

Eclipse.exe compatibility settings

是的,在调整此设置之前,图标非常小。我尝试在启动器本身上设置兼容性设置,但显然无法解决问题。但是,在为eclipse.exe设置覆盖高DPI设置后,图标现在是正常大小的。如果这对其他人有效,请告诉我!


1
这非常酷,我计划在其他应用程序中使用此功能。 - javaPlease42
2
这很好,唯一的问题是Eclipse显示了很多不清晰的东西。 - Chagai Friedlander
7
选择“系统(增强版)”而不是“系统”可以使我的笔记本显示屏上的文本更加清晰。 - iwis
4
从Windows 10 1803版本开始,在单击“更改高DPI设置”按钮后,复选框将变为可见状态。 - iwis
1
这对我来说效果最好,但它一直隐藏在代码选项卡上的文本。截至版本:2020-09(4.17.0)Build id:20200910-1200,我再次禁用它,并且它可以在4k分辨率下正常工作。 - Gregory Alan Bolcer
显示剩余4条评论

47

我找到了一份参考资料,建议在eclipse.ini中添加以下内容:

-Dswt.enable.autoScale=true
-Dswt.autoScale=200
-Dswt.autoScale.method=nearest

这使得我在 Windows 10 上的图标大小扩大了一倍。我使用的是 Eclipse 版本:2020-03(4.15.0)


4
我喜欢这个解决方案,因为它不会使图标图片变得模糊(缩放),而是似乎是原生地重新调整它们的大小。 - Paolo
太棒了!我正在使用Spring Tool Suite 4版本:4.9.0.RELEASE 构建ID:202012132054在Windows 10上。你的解决方案真的很有效! - coverboy
1
在使用Wayland的Ubuntu 21.10下,这个功能效果不是很好。它会对所有内容进行缩放,而不仅仅是图标,并且重绘的位置也会出现问题。 - Brett Sutton
“属性”解决方案在Windows 11上的STM32CubeIDE中失败,因为当我将光标移开文件选项卡时,它会消失。这个解决方案很有效! - jerry_fuyi
非常感谢!你的解决方案对我非常有效。在我看来,这应该是最佳解决方案。 - Krasnars
显示剩余3条评论

40

我想到一个解决方案是对包含图标的Eclipse JAR文件运行批处理操作,将它们的大小加倍。经过一些调整,它起作用了。结果非常不错 - 仍然有一些“顽固”的小图标,但大多数看起来很好。

处理过后的QHD Eclipse

我把代码组合成了一个小项目: https://github.com/davidglevy/eclipse-icon-enlarger

该项目的工作方式如下:

  1. 遍历eclipse基本目录中的每个文件(在参数行中指定)
  2. 如果文件是目录,则在输出文件夹(在参数行中指定)下创建一个新目录
  3. 如果文件是PNG或GIF,则双倍化
  4. 如果文件是其他类型,则复制
  5. 如果文件是JAR或ZIP,则创建目标文件并使用类似的过程处理内容: a. 图像加倍 b. 其他文件按原样复制到ZipOutputStream中。

我发现这个解决方案唯一的问题是它只能使用一次 - 如果您需要下载插件,则请在原始位置进行下载,并重新应用图标增加批处理过程。

在Dell XPS上运行大约需要5分钟。

欢迎提出建议/改进,但这只是一种临时解决方案,我们正在等待Eclipse团队发布修复程序。


1
请问有人能够构建它吗?(用于Eclipse C/C++) - Dvor_nik
2
你能详细说明一下如何在Eclipse中运行它吗?当我将其作为Java项目导入时,出现了58个错误。我对Java一无所知。最好添加到README.md文件中。 :) - Redsandro
您可以通过“Run As” -> “Java Application”运行它,然后添加两个参数:-b PATH_TO_YOUR_ECLIPSE_DIR和-o PATH_TO_EMPTY_OUTPUT_DIR。 - Manuel Manhart
一段时间后,它抛出了一个ArrayOutOfBounds异常,但是如果你将所有缺失的文件从你的eclipse文件夹(不覆盖)复制到输出文件夹中,它就会启动并且图标会变大。 - Manuel Manhart
对于其他人尝试运行此程序,请执行以下操作: mvn install java -cp <生成的jar文件>:<在mvn构建输出中列出的其他依赖项列表> testEclipse.FixIcons -b ~/eclipse -o ~/apps/eclipse-big-icons - Brett Sutton

39

我遇到了同样的问题,要解决它,请创建启动器的快捷方式,右键单击 > 属性 > 兼容性 > 勾选“覆盖高 DPI 缩放行为”,并从下拉菜单中选择“系统增强”,如下图所示。更改后重新启动eclipse。

输入图片描述


1
这是我在Windows 10上使用Eclipse Photon时找到的唯一有效的简单解决方案。 - Kapil
1
我在这样做之后,我的选项卡开始闪烁并消失了,所以我不得不回去,现在我仍然有小图标 :( - gtx
从Windows 10 1803开始,单击“更改高DPI设置”按钮后,复选框将可见。 - iwis
工作正常,覆盖高 DPI + 系统是解决方案。 - techloris_109
在Windows 11中,使用4k显示器时,当我选择“系统(增强)”时,图标的大小非常完美,这些图标不会出现模糊(就像选择“系统”选项时一样)。感谢您的建议!!! - psuzzi

19

为了完整性,我想补充一下,这个问题已经在Eclipse 4.6 Neon中得到解决https://www.eclipse.org/downloads/index-developer.php(当前的开发版本)。 图标看起来有些失落(低分辨率),但至少它们在我的4k屏幕上按比例缩放。


4
这是Neon的“最新动态”页面……你永远猜不到列表的首位是什么:https://www.eclipse.org/eclipse/news/4.6/platform.php - Dave
8
对于像我一样发现即使在新版Eclipse中也没有缩放的人,可以在这里看到:swt-autoscale-tweaks。基本上,我在我的eclipse.ini文件中添加了-Dswt.autoScale=quarter - CrazyPenguin
@CrazyPenguin:太棒了,这是唯一对我有效的解决方案,谢谢。 - Sir Hackalot

12

我正在使用戴尔XPS 15电脑。与其纠结于分辨率和放大倍数等问题,我只需要执行以下步骤:

  • 右键单击启动器图标
  • 点击“属性”
  • 选择“兼容性”选项卡
  • 在“兼容模式”下拉菜单中选择“Windows XP(Service Pack 3)”。

一切似乎都正常工作,并且显示效果良好(如果有点模糊/像素化)。唯一的区别是标题栏变成了Windows XP风格(哦,不!)。

我很想知道这是否适用于其他人,以及是否会出现任何问题。


4
可悲的是,在Windows 8.1的下拉菜单中没有“Windows XP…”选项,最低版本是Vista(在我的系统上,至少会阻止启动)。 - topherg
1
@pdusen 不确定是什么让你这么想,因为没有win xp的选项。我最近进行了一次干净的安装,现在设置兼容模式不能阻止它加载,但外观仍然相同。 - topherg
@cgoddard 我认为是因为我刚刚做了这件事。http://tinypic.com/r/1037u5e/8 不知道该告诉你什么... - pdusen
2
@pdusen 好的,不过请看这个链接:http://www.networksteve.com/windows/topic.php/Will_there_be_Windows_Xp_Mode_in_Windows_8.1/?TopicId=59876&Posts=37 和 http://tinypic.com/r/6nz8e1/8 - topherg
1
你们两个都是对的。这个选项只适用于32位的eclipse。我尝试了64位的eclipse指令,只看到了Vista兼容性。我尝试了32位,看到了可用设置版本与Windows XP,并且它可以工作!这太棒了。终于让我的Yoga II Pro有用于开发Java。 - Dan Smith
显示剩余3条评论

9

我发现最简单的方法是创建一个清单文件,它强制Windows缩放应用程序。虽然模糊且不理想,但比几乎看不见的UI好!这种技术似乎适用于任何应用程序。

在与eclipse.exe相同的文件夹中创建一个eclipse.exe.manifest文件,并将以下XML放入其中:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

</assembly>

4
请注意:为了使此方法生效,您需要修改注册表。打开 regedit 并创建一个名为“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest”的键(DWORD),并将其值设置为1。 - ZhekaKozlov

7
最好的方法是使用资源编辑器之类的工具来编辑exe清单,并添加内容。
    <application xmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings><ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings" xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware></windowsSettings></application>        

在设置依赖项后,将exe设置为dpi未知。这样程序会有点像素化,但大小会更加适宜。


更多信息请访问:http://www.danantonielli.com/adobe-app-scaling-on-high-dpi-displays-fix/ - bugybunny

7
任何升级了Windows 10(2018年4月后更新版)的用户,DPI缩放覆盖设置已经移动到一个专门的窗口中: 输入图像描述 输入图像描述

5
我已经查找了一个月的解决方案,但我还没有找到理想的解决方案。似乎应该有一种方法可以解决这个问题,但是我就是找不到。
我的笔记本电脑配备了2560x1600分辨率的屏幕,并在Windows 8.1中使用了200%的放大设置(使它看起来像一个1280x800的屏幕,但更清晰)。
支持这种“HiDPI”模式的应用程序看起来非常漂亮,但是不支持它的应用程序(例如Eclipse)会显示几乎无法阅读的微小图标。
我还使用过时的Visual Studio版本。虽然未针对HiDPI进行更新(显然MS希望我使用更新的VS版本),但仍能在HiDPI屏幕上正常运行,因为它只将事物放大两倍 - 图标和字母的大小很正常,但它们看起来分辨率较低。
在看到VS的工作方式之后,我开始寻找一种以相同模式启动Eclipse的方法,因为理论上只需像VS一样放大即可。我认为应该有一个选项,我可以设置以在此模式下启动Eclipse。但我没有找到。
最终,我降低了屏幕分辨率至1/4(从2560x1600降至1280x800),取消了放大(从200%降至100%),并且在Eclipse获得更新支持之前不利用高分辨率屏幕。但我急切地等待这个问题的答案。

谢谢,Jae。我也采用了你的方法:同时降低屏幕分辨率和放大倍数。这不是一个理想的解决方案,因为许多应用程序在更高的分辨率下看起来更好。希望更多的应用程序很快能够利用HiDPI功能。 - SeeJay719
2
我刚刚发现了一个与此相关的线程:https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383 - Jae
2
@Jae,虽然你提供的链接解决了SWT中的根本问题,但Eclipse UI仍需采用新的API,请参见https://bugs.eclipse.org/382972(截至本文撰写时仍未解决)。 - Stephan Herrmann
从Windows 10 1703开始,我们可以像Devin的回答中所述打开应用程序GUI的缩放。 - iwis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接