Windows 8.1 中高分辨率屏幕上的 Eclipse 界面图标非常小

Posted

技术标签:

【中文标题】Windows 8.1 中高分辨率屏幕上的 Eclipse 界面图标非常小【英文标题】:Eclipse interface icons very small on high resolution screen in Windows 8.1 【发布时间】:2014-01-10 04:04:42 【问题描述】:

Eclipse (Kepler) 界面中的各种图标和按钮在具有 3200x1800 像素屏幕的笔记本电脑上非常非常小。除非我的鼻子离屏幕几厘米,否则很难看到显示文件错误的红色错误装饰。

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

有没有简单的方法来强制更大的图标?任何变通方法(我使用了放大镜,但这是一个相当笨重的解决方案)?我应该买一个放大镜放在鼠标旁边吗?也许有人应该制作一个嵌入放大镜的鼠标? :)

谢谢。

【问题讨论】:

你可以尝试在没有航空模式的情况下使用windows..也许这可能会改变视图图标..或者只为eclipse改变屏幕分辨率.. 我注意到,当 Eclipse 启动时,初始屏幕最初显示为放大(正确),但随后又恢复到正常分辨率(小)。这在工作台中仍然存在。我想知道从 .exe 执行切换到 JVM 时是否会发生这种情况,然后它会丢失一些 Windows 需要正确扩展的信息? 虽然这些答案中有很多很好的变通解决方案,但有一份关于 Eclipse 的官方错误报告 (bugs.eclipse.org/bugs/show_bug.cgi?id=421383)。如果这对您有影响,我建议您投票支持该错误,以便优先处理它。 我想知道是否可以使用 Eclipse 4 中的新 CSS 功能来完成某些事情。我一直在寻找,但我发现这个 CSS 技巧非常复杂,还没有找到简单的 @987654323 @ 类,我们可以将size 设置为200% 最新版本的 Eclipse Photon 修复了这个问题 【参考方案1】:

上个月我一直在寻找这个问题的解决方案,但我还没有找到理想的解决方案。似乎应该有办法解决它,但我就是找不到。

我使用的笔记本电脑屏幕为 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 更新以支持之前没有利用高分辨率屏幕因为我必须做一些工作,但我正在绝望地等待这个问题的答案。

【讨论】:

谢谢,杰。我也采用了您的方法:同时降低屏幕分辨率和放大率。这不是一个理想的解决方案,因为许多应用程序在更高分辨率下看起来要好得多。希望很快会有更多应用程序利用 HiDPI 功能。 刚刚找到一个跟这件事相关的贴子:bugs.eclipse.org/bugs/show_bug.cgi?id=421383 @Jae 虽然您链接的错误解决了 SWT 中的基本问题,但 Eclipse UI 仍然必须采用新 API,请参阅 bugs.eclipse.org/382972(在撰写本文时仍未解决)。 从 Windows 10 1703 开始​​,我们可以像 Devin 的回答一样打开应用程序 GUI 的缩放。【参考方案2】:

我在戴尔 XPS 15 上运行。我没有在分辨率和放大倍率之类的东西上塞满东西,而是做了以下事情:

右键单击启动器图标 点击“属性” 选择“兼容性”标签 为“以兼容模式运行此程序:”选择“Windows XP (Service Pack 3)”。

一切似乎都运行良好,显示效果也不错(如果有点模糊/像素化)。我能看到的唯一区别是标题栏是 Windows XP 风格的(哦不!!!)。

我很想知道这是否适用于其他人以及是否有人遇到任何问题。

【讨论】:

遗憾的是,Windows 8.1 的下拉菜单中没有“Windows XP ...”,最低版本是 Vista(至少在我的系统上,它会阻止启动) @cgoddard 那是……不是真的。我只是按照 Jamie 在 Windows 8.1 上的说明操作,效果很好。 @pdusen 不确定是什么让你这么认为,win xp 没有选项。最近进行了全新安装,现在设置兼容模式并不会阻止它加载,但看起来还是一样 @pdusen 很公平,但是:networksteve.com/windows/topic.php/… & tinypic.com/r/6nz8e1/8 你们俩都是对的。该选项仅适用于 32 位 eclipse。我尝试了 64 位 eclipse 的说明,但我只看到 vista 兼容性。我尝试了 32 位,我看到了 Windows XP 的可用设置版本,它可以工作!这很棒。它终于让我的 Yoga II Pro 对开发 Java 有用了。【参考方案3】:

我认为一种解决方案是在 Eclipse JAR 上运行批处理操作,其中包含图标并将它们的大小加倍。经过一番修修补补,它奏效了。结果非常好 - 仍然有一些“顽固”的图标,虽然很小但大多数看起来都不错。

我把代码放在一个小项目中: https://github.com/davidglevy/eclipse-icon-enlarger

该项目的工作人员:

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

我发现此解决方案的唯一问题是它实际上只工作一次 - 如果您需要下载插件,请在原始位置下载并重新应用图标增加批处理。

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

很高兴收到建议/改进,但这实际上只是一个临时解决方案,我们正在等待 Eclipse 团队解决问题。

【讨论】:

有人可以构建它吗(用于 Eclipse C/C++)? 您能否详细说明如何在 Eclipse 中运行它?将其作为 java 项目导入时,出现 58 个错误。我对Java一无所知。最好添加到README.md。 :) 你可以通过 run as -> Java Application 运行它,然后添加两个参数 -b PATH_TO_YOUR_ECLIPSE_DIR -o PATH_TO_EMPTY_OUTPUT_DIR 它在一段时间后抛出了 ArrayOutOfBounds 异常,但是如果你将所有丢失的文件从 eclipse 文件夹(没有覆盖)复制到输出文件夹中,它就会启动并且图标更大。 对于其他尝试运行此命令的人: mvn install java -cp : testEclipse.FixIcons -b ~/eclipse -o ~/apps /eclipse-big-icons【参考方案4】:

谢谢你叹息大卫利维。如果没有您的解决方案,我无法在 Eclipse 上进行开发。 我必须在您的代码中添加一个 coupla 捕获(异常)才能使其正常工作:

            while (srcEntries.hasMoreElements()) 
                    ZipEntry entry = (ZipEntry) srcEntries.nextElement();
                    logger.info("Processing zip entry ["+ entry.getName() + "]");

                    ZipEntry newEntry = new ZipEntry(entry.getName());


                    try  outStream.putNextEntry(newEntry);  
                    ***catch (Exception e)  
                        logger.error("error: ", e);
                        outStream.closeEntry();
                        continue;*
                    **

【讨论】:

你得到它的工作!你能编译一个二进制文件或解释如何让它运行吗?还有see github comment.【参考方案5】:

-SurfacePro3-

下载并解压eclipse“32位版本”。 在“Windows XP 模式”下运行。

【讨论】:

【参考方案6】:

Windows Xp 的兼容模式,它仅适用于 Eclipse 32 位版本,在此兼容模式下运行后,图标和文本将是正确的大小,但由于它们从原始分辨率缩放到屏幕分辨率而变得模糊这样做会丢失质量。

【讨论】:

【参考方案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 不知道。这样程序会有点像素化,但大小会很舒服。

【讨论】:

欲了解更多信息:danantonielli.com/adobe-app-scaling-on-high-dpi-displays-fix【参考方案8】:

我通过创建 (Linux) shellscript (.sh) 来修复@Sigh 的解决方案来做类似的事情。这是非常粗暴、残酷的,需要为您的特定系统采用。 使用风险自负。它可能会破坏您的整个安装。 在运行此脚本之前备份文件夹。可以改进脚本。

#!/bin/bash

for J in *.jar
do
        echo "Copying $J..."
        mkdir -p "/tmp/$J"
        cp "$J" "/tmp/$J/"
        cd "/tmp/$J"

        echo "Extracting $J..."
        jar xf "$J"
        rm "$J"

        echo "Processing images..."
        find . -name "*.gif" -exec convert  -resize 200%  \;

        echo "Compressing $J..."
        if [ `ls .[^.]* 2>/dev/null | wc -l` = 0 ]
        then
                jar cf "$J" *
        else
                jar cf "$J" * .[!.]*
        fi
        cd -
        mv $J,-bak
        mv "/tmp/$J/$J" .
        rm -rf "/tmp/$J"

        echo "Done."
        echo ""
done

/opt/eclipse/plugins~/.eclipse/org.eclipse.platform_4.x.x/plugins(或任何安装路径)中运行它。与@Sigh 的解决方案相同的问题:这是一个残酷的“修复”,在每次更新或新安装后都会中断。

脚本可以完善:

忽略没有 /icons/ 文件夹的 .jar 文件 仅调整 16x16 的图像大小,以便您可以在每次更新/安装后再次运行它

需要imagemagick


注意事项

它不适用于所有图标。 有谁知道其他资产在哪里或者为什么没有调整它们的大小?也许他们不是.gif? Project Explorer 图标乱七八糟。

欢迎修复!

【讨论】:

我已经制作了@Redsandro 代码的modified 版本,您可以在this gist 中看到它简化了一些目录遍历,简化了临时文件的处理,并查找了 16 或更少的像素大小。 @gene_wood 你使用了一些聪明的 bash 命令。我仍然有一个问题,即项目资源管理器图标上的(小于 16 像素的小)覆盖图标在某种程度上看起来很大(在我的原始脚本中,因此在你的脚本中),掩盖了实际的文件图标。也许我们需要忽略大于小于 16px 的图像。无论如何,介意我的回答吗? :D 基于@gene_wood 脚本将-name "*.gif"-name '*.png' -o -name '*.gif 交换,据我所知,所有图标都会放大。【参考方案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>

【讨论】:

注意:要让它工作,你必须修改注册表。打开 regedit 并创建一个值为 1 的键 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest (DWORD)。【参考方案10】:

Jae 的上述解决方案对我有用。清单解决方案对我不起作用。 谢谢杰。

设置:在我的 windows 8.1 64 位非平板笔记本电脑上,我下载了 eclipse 64 位和 jdk 64 位。

    在桌面上单击鼠标右键以访问屏幕分辨率并降低 屏幕分辨率显示从 3000 级到 2048 x 1152。 点击使文本和其他项目变大或变小链接和 将其更改为 150% 大而不是特大 - 250%。 退出并重新登录。 重新启动 Eclipse,图标现在可见,即使有点 更小,但现在更清晰了。

【讨论】:

【参考方案11】:

这是我的解决方案灵感来自@Sigh 的解决方案(这个不使用 maven):

https://github.com/gitAmrit/EclipseIconEnlarger/tree/master#eclipseiconenlarger

这是通过搜索所有小于或等于 16x16px 的图像并按用户想要的任何因素放大它们来实现的。

运行实用程序: java images.EclipseIconEnlarger eclipseBasePath 放大系数

例如:java images.EclipseIconEnlarger C:\Users\Amrit\Codes\eclipse 2

eclipseBasePath = eclipse.exe 所在的路径,例如C:\Users\Amrit\Codes\eclipse magnificationfactor = 图像应放大的因子,例如2 = 双

【讨论】:

请在您的回答中至少添加您的解决方案的摘要。仅链接的答案被认为是不好的做法***.com/help/how-to-answer 谢谢。完美运行并就地更改图标。只需偶尔运行一次,所有图标都会保持大。【参考方案12】:

这是另一个命令行解决方案,但这适用于 Windows。

它需要安装 winrar(编辑 set winrar 行以指向 winrar 安装)。

它还需要安装 imagemagick 并将其路径添加到您的命令行中。

最后一条评论是我建议在第一次打开 Eclipse(即全新安装)之前运行它。有些图标会自动从 jar 中解压缩并保存在 eclipse/configuration/org.eclips.osgi/... (可能在其他文件夹中),并且编辑 .jar 文件可以防止图标被调整大小。您或许可以删除此文件夹,它可能会再次自动提取,但我无法确认。

要运行,只需在 eclipse/plugins 目录中创建一个 doubler.bat 文件,它应该将任何小于 32x32 的图标调整为该比例大小。

代码如下:

@echo off
set winrar="C:\Program Files\WinRAR\winrar.exe"
set startpath=%~dp0

::All *.jar in this folder
FOR %%G in (*.jar) do (call :EachJar "%%G")

GOTO :eof

:EachJar
  ::echo %1
  set nameWOQuotes=%~1
  mkdir "tmp\%nameWOQuotes%"
  ::copy "%nameWOQuotes%" "tmp\%nameWOQuotes%.bak" >NUL
  %winrar% x -inul "%nameWOQuotes%" *.jpg *.gif *.png *.tif *.tiff "tmp\%nameWOQuotes%\"
  ::pause
  cd "tmp\%nameWOQuotes%"
  FOR /R .\ %%H in (*.jpg *.gif *.png *.tif *.tiff) do ( 
    ::echo %nameWOQuotes%-%%~nxH >> "%startpath%\output.txt"
    identify "%%H" >> "%startpath%\output.txt"
   convert "%%H" -resize 32x32^< "%%H" )
  %winrar% a -r -u "%startpath%\%nameWOQuotes%" "*"
  cd "%startpath%"
  rmdir /s /q "tmp\%nameWOQuotes%"
Goto :eof

它创建一个文件 output.txt 并在转换之前插入所有原始图像元数据,无论它是否改变大小。

【讨论】:

【参考方案13】:

JaxEnter 中有一篇很好的文章,介绍了有关 HiDPI for Eclipse 的工作

【讨论】:

文章基本说了什么@Kltis posted【参考方案14】:

Following solution worked for me

首先你需要添加这个注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest (DWORD) to 1

接下来,与可执行文件同名的清单文件必须与可执行文件存在于同一文件夹中。该文件名为 eclipse.exe.manifest,包括:

<?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">
    <description>eclipse</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3"
                               level="asInvoker"
                               ms_asmv3:uiAccess="false">
                </requestedExecutionLevel>
            </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>

您可以在此处找到更多详细信息

【讨论】:

最后对我有用的是将清单文件添加到 javaw.exe 就像https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 say 谢谢你,elysch。制作 eclipse.exe.manifest 适用于 Eclipse Mars.1,但不适用于 Mars.2。使 javaw.exe.manifest 工作!【参考方案15】:

最后对我有用的是将清单文件添加到 javaw.exe 就像 Heikki Juntunen 在 https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 所说的那样

关于如何编辑注册表和创建清单文件的说明由 Matthew Cochrane 在https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60 和@KItis 编写的说明here 编写

我把那篇文章的副本放在这里:


首先你需要添加这个注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest (DWORD) to 1

接下来,与可执行文件同名的清单文件必须与可执行文件存在于同一文件夹中。该文件名为 eclipse.exe.manifest,包括:

<?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">
    <description>eclipse</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3"
                               level="asInvoker"
                               ms_asmv3:uiAccess="false">
                </requestedExecutionLevel>
            </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>

【讨论】:

【参考方案16】:

为了完成,我想补充一点,这个问题在 Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php(当前的开发者版本)中得到了解决。 这些图标看起来有点悲伤(低分辨率),但至少它们在我的 4k 屏幕上是正确缩放的。

【讨论】:

这里是 Neon 的“新功能”页面......您永远猜不到列表顶部是什么:eclipse.org/eclipse/news/4.6/platform.php 对于像我这样发现即使在新的 Eclipse 上也没有缩放的人,请参见此处:swt-autoscale-tweaks 基本上我将-Dswt.autoScale=quarter 添加到我的eclipse.ini 文件中。 @CrazyPenguin:太棒了,这是唯一对我有用的解决方案,谢谢【参考方案17】:

最好的轻松解决方案是使用 Eclipse Neon。作为此版本的一部分,所有错误都已修复。 https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383

【讨论】:

一个小警告是它并没有立即解决问题,而是将以下内容添加到我的 eclipse.ini 文件的 vmargs 中:-Dswt.autoScale=200 我必须同时添加 -Dswt.autoScale=200 关闭 GTK3 支持 (env SWT_GTK3=0 eclipse) 我已经包含了-Dswt.autoScale=200 并且图标大小增加了,但完全失去了分辨率质量。所以我已经恢复了eclipse.ini 文件中的更改。但即使删除 -Dswt.autoScale=200 条目后,我的 eclipse photon 中的图标仍然很大 “所有错误都已修复...”对我来说似乎有点夸大其词。【参考方案18】:

看看Neon (4.6) M6 - New and Noteworthy,里程碑版本包含一些图像的自动缩放(例如工具栏)。

SWT 提供基于分辨率的自动缩放

SWT 现在可以在 Windows 的高 DPI 显示器上自动缩放图像 和 Linux,类似于 Mac 在 OS X 上的 Retina 支持。 高分辨率图像,SWT 将自动缩放可用图像到 确保像 Eclipse 这样的基于 SWT 的应用程序是可扩展的 与显示器的分辨率成正比。

可以通过设置此 VM 在 Windows 和 GTK 上禁用此功能 在 eclipse.ini 或 -vmargs 之后的命令行中将参数设置为 false:

-Dswt.enable.autoScale=false

无法在 Mac 上禁用自动缩放,因为它由 操作系统。

注意事项:我们知道某些缩放后的图像在比例因子上看起来很糟糕 小于 200%。这将在 M7 中得到改进。此外,我们在 致力于在 Platform UI 中支持高 DPI 图像,以便插件 提供者无需更改任何代码即可添加高 DPI 图标。

或者这可能会有所帮助,在 Eclipse Mars API 中添加了高分辨率

添加了新的 API 以提供对渲染的支持 高 DPI 显示器上的高分辨率图像。两个构造函数有 已添加到 Image 类。他们接受图像提供者回调 允许客户端提供依赖于分辨率的图像版本:

public interface ImageDataProvider 
  public ImageData getImageData (int zoom);

public interface ImageFileNameProvider 
  public String getImagePath (int zoom);

根据用户的监视器配置,SWT 将请求图像 具有相应的缩放级别。这是一个显示 3 的示例 原始图像,然后是分辨率变化的变体 取决于显示器的分辨率:Snippet367.java。

请注意,这只是支持高分辨率的第一步 SWT 和基于 Eclipse 的应用程序中的图像。工作正在进行中 采用平台中的新 API。此外,SWT 中的更多工作是 需要正确支持通过以下方式绘制成高分辨率图像 GC。

用于高 DPI 显示器支持的 APIhttp://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html

【讨论】:

我刚刚安装了 Neon M7,更改自动缩放值对图标大小没有影响.. ehh -vmargs -Dswt.autoScale=300【参考方案19】:

如果您不想安装较新版本的 eclipse

如here 所述, 在 eclipse.init 文件中,在 -vmargs 之后添加 -Dswt.autoScale=exact 即可。

这里exact 将图标缩放到原生缩放。 但是您必须使用模糊和锯齿状的图标进行调整。

【讨论】:

【参考方案20】:

当我将默认的 Windows 10 语言从英语更改为意大利语时遇到了这个问题,并且在默认语言为英语时安装了 Eclipse。将 Windows 语言恢复为 Eng 并重新启动解决了该问题。我不知道发生了什么,Windows 重命名了一些文件夹,如 C:\Users 将其翻译为您的默认语言(即 C:\Utenti),这可能会导致问题。

【讨论】:

【参考方案21】:

以下更改可以无缝运行。

引用CrazyPenguin的reply

“对于像我这样发现即使在新的 Eclipse 上也没有缩放的人,请参见此处:swt-autoscale-tweaks 基本上我在我的 Eclipse 中添加了 -Dswt.autoScale=quarter。 ini 文件。”

【讨论】:

【参考方案22】:

我也为这个问题苦苦挣扎了一会儿。我注意到你们中的很多人都发布了非常复杂的解决方案,但是有一种更简单的方法可以做到这一点!它只是一个程序,您不必修改脚本或安装第三方工具。如上所述,该问题与高 DPI 缩放有关,但我认为你们中的很多人都缺少的是,您不能直接修改启动器本身的兼容性设置。启动器和eclipse是两个不同的程序!您需要浏览到 Eclipse.exe 并覆盖那里的高 DPI 缩放选项。设置后,您可以正常使用启动器。启动器将点击可执行文件,启动 eclipse.exe,由于您在 .exe 上设置了兼容性设置,它将使用这些设置运行。我花了大约 10 分钟来追踪 exe 的位置,如果它的任何帮助我位于:C:\Users\username\AppData\Local\Yatta\Launcher\installations\eclipse-ide-for-java-developers\eclipse。执行

这是我如何设置兼容性设置的屏幕截图。

是的,在调整此设置之前,图标非常小。我尝试在启动器本身上设置兼容性设置,但显然没有解决问题。但是在为 eclipse.exe 设置覆盖高 DPI 设置后,图标现在是正常大小。让我知道这是否适用于其他人!

【讨论】:

这很酷,我打算在其他应用程序上使用这个功能。 这很好,唯一的问题是日食显示很多东西不清晰。 @ChagaiFriedlander,选择“系统(增强)”而不是“系统”使我的笔记本显示屏上的文字更加清晰。 在 Windows 10 1803 中,单击“更改高 DPI 设置”按钮后复选框可见。 这对我来说效果最好,但它一直隐藏代码选项卡上的文本。截至版本:2020-09 (4.17.0) Build id: 20200910-1200 我再次禁用它,它在 4k 分辨率下工作。【参考方案23】:

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

【讨论】:

这是使用 Eclipse Photon 在 Windows 10 上为我工作的唯一简单解决方案 我的标签在执行此操作后开始闪烁并消失,所以我不得不返回,现在我仍然有小图标:( 在 Windows 10 1803 中,单击“更改高 DPI 设置”按钮后复选框可见。 工作,覆盖高 DPI + 系统是修复。【参考方案24】:

我找到了一个建议将以下内容添加到 eclipse.ini 的参考

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

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

【讨论】:

我喜欢这个解决方案,因为它不会模糊(缩放)图标图像,但似乎可以原生地重新缩放它们 太棒了!我在 Windows 10 上使用 Spring Tool Suite 4 版本:4.9.0.RELEASE 构建 ID:202012132054。您的解决方案可以正常工作! 这个 hack 真的很酷。只需将其添加到 eclipse.ini 并重新启动。 @Tim Dowty - 非常感谢!我可以将自动缩放更改为小于 200 吗?这会正确放大吗? 在 ubuntu 21.10 下使用 wayland 并不能很好地工作。它缩放了所有东西,而不仅仅是图标,而且重绘无处不在。 Windows 11 上的 STM32CubeIDE 的“属性”解决方案失败,因为当我将光标从文件选项卡上移开时,它会消失。这个解决方案效果很好!【参考方案25】:

对于在升级 Windows 10(2018 年 4 月更新后)后看到此问题的任何人,DPI 缩放覆盖设置已移至专用窗口:

【讨论】:

以上是关于Windows 8.1 中高分辨率屏幕上的 Eclipse 界面图标非常小的主要内容,如果未能解决你的问题,请参考以下文章

Windows Phone 8.1 Media Foundation H264 最大分辨率

如何在 Windows 8.1 中捕获高分辨率视频并从中捕获照片。我在尝试时遇到了 UI 跳跃效果

Google Maps API V3 pinch-to-zoom 不适用于 Windows 8.1 预览版上的 IE 11

8.1-8.31推荐文章汇总

Windows Phone 8 适应多屏分辨率

如何在Windows 8.1 / 10上可靠地窃取/重新获得MFC /桌面应用程序的焦点?