Eclipse-Schnittstellensymbole auf hochauflösendem Bildschirm in Windows 8.1 sehr klein

99

Die verschiedenen Symbole und Schaltflächen in der Eclipse (Kepler) -Schnittstelle sind auf einem Laptop mit einem 3200 x 1800 Pixel großen Bildschirm sehr, sehr klein. Die rote Fehlerdekoration, die auf Fehler in Dateien hinweist, ist nur schwer zu erkennen, wenn meine Nase ein paar Zentimeter vom Bildschirm entfernt ist.

Ich habe mit dem Anpassen der Bildschirmauflösung und anderer Einstellungen im Betriebssystem (Windows 8.1) herumgespielt, was hilft, aber dazu führt, dass andere Anwendungen zu groß erscheinen, und selbst dann sind die Eclipse-Symbole unangenehm klein. Das Vergrößern der Schriftarten in den Eclipse-Einstellungen (Fenster> Einstellungen> Dialogschrift) hat keinen Einfluss auf die Symbolgröße.

Gibt es eine einfache Möglichkeit, größere Symbole zu erzwingen? Irgendwelche Workarounds (ich habe die Lupe verwendet, aber das ist eine ziemlich klobige Lösung)? Soll ich einfach eine Lupe kaufen und neben meiner Maus aufbewahren? Vielleicht sollte jemand eine Maus mit einer eingebetteten Lupe bauen? :) :)

Vielen Dank.

SeeJay719
quelle
Kannst du versuchen, Windows ohne Aero-Modus zu verwenden? Vielleicht ändert das Ding möglicherweise die Ansichtssymbole. Oder ändert die Bildschirmauflösung nur für Eclipse.
Lucky
Ich habe festgestellt, dass beim Starten von Eclipse der Begrüßungsbildschirm zunächst vergrößert (korrekt) angezeigt wird, dann aber irgendwann wieder zur normalen Auflösung (klein) zurückkehrt. Dies bleibt in der Workbench bestehen. Ich frage mich, ob dies beim Wechsel von der .exeAusführung zur JVM passiert und dann einige Informationen verloren gehen, die Windows für eine korrekte Skalierung benötigt.
Nilskp
3
Obwohl diese Antworten viele gute Problemumgehungslösungen enthalten , gibt es einen offiziellen Fehlerbericht zu Eclipse ( bugs.eclipse.org/bugs/show_bug.cgi?id=421383 ). Ich rate Ihnen, für den Fehler zu stimmen, wenn dies Sie betrifft, um ihn zu priorisieren.
LondonAppDev
Ich frage mich , ob etwas mit dem neuen CSS getan werden könnte , bietet in Eclipse 4. Ich habe geschaut, aber ich finde diese Tricks CSS ziemlich komplex zu sein und haben festgestellt , nicht eine einfache .iconKlasse noch für die wir einstellen können das sizezu 200%.
Redsandro
Dies ist auf der neuesten Version Eclipse Photon
Crowne

Antworten:

7

Ich habe im letzten Monat nach Lösungen für dieses Problem gesucht, aber noch keine ideale Lösung gefunden. Es scheint, dass es einen Weg geben sollte, aber ich kann es einfach nicht finden.

Ich verwende einen Laptop mit einem 2560x1600-Bildschirm mit der Einstellung 200% Vergrößerung in Windows 8.1 (wodurch er wie ein 1280x800-Bildschirm aussieht, aber klarer ist).

Anwendungen, die einen solchen "HiDPI" -Modus unterstützen, sehen einfach großartig aus, aber diejenigen, die dies nicht tun (z. B. Eclipse), zeigen winzige Symbole, die fast unlesbar sind.

Ich verwende auch eine veraltete Version von Visual Studio. Das wurde für HiDPI nicht aktualisiert (MS möchte natürlich, dass ich eine neuere Version von VS verwende), aber es funktioniert immer noch ein bisschen in Ordnung mit HiDPI-Bildschirmen, da es die Dinge nur zweimal skaliert - die Größe von Symbolen und Buchstaben ist normal, aber sie sind normal Schauen Sie mit niedrigerer Auflösung.

Nachdem ich gesehen hatte, wie VS funktioniert, suchte ich nach einer Möglichkeit, Eclipse im selben Modus zu starten, da es technisch nicht sehr schwierig wäre, Dinge wie VS zu skalieren. Ich dachte, es gäbe eine Option, mit der ich Eclipse in diesem Modus starten könnte. Ich konnte es aber nicht finden.

Schließlich habe ich die Bildschirmauflösung ohne Vergrößerung (von 200% auf 100%) auf 1/4 (von 2560 x 1600 auf 1280 x 800) gesenkt und den hochauflösenden Bildschirm erst dann genutzt, wenn Eclipse aktualisiert wurde, um ihn zu unterstützen, seit ich musste etwas arbeiten, aber ich warte verzweifelt auf eine Antwort auf dieses Problem.

Jae
quelle
Danke, Jae. Ich habe auch Ihren Ansatz gewählt: Reduzierung der Bildschirmauflösung und Vergrößerung im Tandem. Dies ist keine ideale Lösung, da viele Anwendungen bei höherer Auflösung viel besser aussehen. Hoffentlich werden bald mehr Anwendungen die HiDPI-Funktionen nutzen.
SeeJay719
2
Ich habe gerade einen Thread gefunden, der mit dieser Angelegenheit zusammenhängt: bugs.eclipse.org/bugs/show_bug.cgi?id=421383
Jae
2
@Jae Während der von Ihnen verknüpfte Fehler das grundlegende Problem in SWT behoben hat, muss die Eclipse-Benutzeroberfläche immer noch die neue API übernehmen, siehe bugs.eclipse.org/382972 (zum Zeitpunkt dieses Schreibens noch ungelöst).
Stephan Herrmann
42

Ich hatte auch ein bisschen mit diesem Problem zu kämpfen. Ich habe festgestellt, dass viele von Ihnen wirklich komplizierte Auflösungen veröffentlicht haben, aber es gibt einen viel einfacheren Weg, dies zu tun! Es ist nur ein Programm und Sie sollten keine Skripte ändern oder Tools von Drittanbietern installieren müssen. Das Problem hängt mit der oben erwähnten Hoch-DPI-Skalierung zusammen, aber ich denke, viele von Ihnen vermissen, dass Sie die Kompatibilitätseinstellungen auf dem Launcher selbst nicht direkt ändern können. Der Launcher und Eclipse sind zwei verschiedene Programme! Sie müssen zur Datei Eclipse.exe navigieren und dort die Skalierungsoption für hohe DPI überschreiben. Einmal eingestellt, können Sie den Launcher wie gewohnt verwenden. Der Launcher trifft die ausführbare Datei, startet die Datei eclipse.exe und wird mit diesen Einstellungen ausgeführt, da Sie die Kompatibilitätseinstellungen für die EXE-Datei festgelegt haben.

Hier ist ein Screenshot davon, wie ich meine Kompatibilitätseinstellungen festgelegt habe.

Eclipse.exe-Kompatibilitätseinstellungen

Und ja, die Symbole waren super klein, bevor diese Einstellung angepasst wurde. Ich habe versucht, Kompatibilitätseinstellungen auf dem Launcher selbst festzulegen, aber das Problem wurde offensichtlich nicht behoben. Nach dem Festlegen der Override High DPI-Einstellung für die eclipse.exe-Symbole haben sie jetzt die normale Größe. Lassen Sie mich wissen, ob dies für andere funktioniert!

Devin C.
quelle
Das ist sehr cool und ich plane, diese Funktion für andere Anwendungen zu verwenden.
JavaPlease42
Das ist großartig, das einzige Problem ist, dass Eclipse viele Dinge unscharf zeigt.
Chagai Friedlander
36

Ich dachte mir, dass eine Lösung darin bestehen würde, eine Stapeloperation auf den Eclipse-JARs auszuführen, die die Symbole enthalten und deren Größe verdoppeln. Nach einigem Basteln hat es funktioniert. Die Ergebnisse sind ziemlich gut - es gibt immer noch ein paar "hartnäckige" Symbole, die winzig sind, aber die meisten sehen gut aus.

Eclipse nach der Verarbeitung auf QHD

Ich habe den Code in einem kleinen Projekt zusammengestellt: https://github.com/davidglevy/eclipse-icon-enlarger

Das Projekt funktioniert von:

  1. Durchlaufen jeder Datei im Eclipse-Basisverzeichnis (in der Argumentzeile angegeben)
  2. Wenn eine Datei ein Verzeichnis ist, erstellen Sie ein neues Verzeichnis unter dem aktuellen im Ausgabeordner (in der Argumentzeile angegeben).
  3. Wenn eine Datei ein PNG oder GIF ist, verdoppeln Sie
  4. Wenn es sich bei einer Datei um eine andere Kopie handelt
  5. Wenn es sich bei einer Datei um eine JAR oder ZIP handelt, erstellen Sie eine Zieldatei und verarbeiten Sie den Inhalt mit einem ähnlichen Verfahren: a. Bilder werden verdoppelt b. Andere Dateien werden unverändert in den ZipOutputStream kopiert.

Das einzige Problem, das ich bei dieser Lösung festgestellt habe, ist, dass sie wirklich nur einmal funktioniert. Wenn Sie Plugins herunterladen müssen, tun Sie dies am ursprünglichen Speicherort und wenden Sie den Batch-Prozess zur Symbolerhöhung erneut an.

Auf dem Dell XPS dauert die Ausführung ca. 5 Minuten.

Wir freuen uns über Vorschläge / Verbesserungen, aber dies ist wirklich nur eine Ad-hoc-Lösung, während wir darauf warten, dass das Eclipse-Team eine Lösung findet.

David Levy
quelle
1
Könnte es bitte jemand bauen (zur Verwendung mit Eclipse C / C ++)?
Dvor_nik
2
Könnten Sie etwas näher darauf eingehen, wie dies in Eclipse ausgeführt wird? Beim Importieren als Java-Projekt werden 58 Fehler angezeigt. Ich weiß nichts über Java. Vorzugsweise hinzufügen zu README.md. :)
Redsandro
Sie können es ausführen, indem Sie es als -> Java-Anwendung ausführen und dann zwei Argumente hinzufügen -b PATH_TO_YOUR_ECLIPSE_DIR -o PATH_TO_EMPTY_OUTPUT_DIR
Manuel Manhart
Nach einer Weile wurde eine ArrayOutOfBounds-Ausnahme ausgelöst. Wenn Sie jedoch alle fehlenden Dateien aus Ihrem Eclipse-Ordner (keine Überschreibungen) in den Ausgabeordner kopieren, wird sie gestartet und die Symbole sind größer.
Manuel Manhart
17

Zum Abschluss dachte ich, ich würde hinzufügen, dass dieses Problem in Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php (der aktuellen Entwicklerversion) behoben ist . Die Symbole sehen etwas traurig aus (niedrige Auflösung), sind aber auf meinem 4k-Bildschirm zumindest richtig skaliert.

Michael Medin
quelle
4
Hier die "Was ist neu" -Seite für Neon ... und Sie werden nie erraten, was ganz oben auf der Liste steht: eclipse.org/eclipse/news/4.6/platform.php
HDave
6
Für diejenigen wie mich, die festgestellt haben, dass sie selbst auf der neuen Eclipse nicht skaliert wurden, siehe hier: swt-autoscale-tweaks Grundsätzlich habe ich -Dswt.autoScale=quartermeiner eclipse.iniDatei hinzugefügt .
CrazyPenguin
17

Hatten Sie das gleiche Problem, um es zu beheben, erstellen Sie eine Verknüpfung des Starters, klicken Sie mit der rechten Maustaste auf> Eigenschaften> Kompatibilität> aktivieren Sie das Kontrollkästchen "Skalierverhalten mit hoher DPI überschreiben" und wählen Sie "Systemverbessert" aus der Dropdown-Liste aus (siehe Abbildung unten). Starten Sie Eclipse nach Änderungen neu.

Geben Sie hier die Bildbeschreibung ein

Vergil C.
quelle
1
Dies ist die einzige einfache Lösung, die für mich unter Windows 10 mit Eclipse Photon
Kapil
Ich hatte meine Tabs zu flackern und zu verschwinden, nachdem ich dies getan hatte, also musste ich zurück und jetzt habe ich immer noch kleine Symbole :(
GTX
11

Ich verwende ein Dell XPS 15. Anstatt mit Auflösungen und Vergrößerungen und all dem herumzuspielen, habe ich nur Folgendes getan:

  • Klicken Sie mit der rechten Maustaste auf das Startsymbol
  • Klicken Sie auf "Eigenschaften"
  • Wählen Sie die Registerkarte "Kompatibilität"
  • Wählen Sie "Windows XP (Service Pack 3)" für "Dieses Programm im Kompatibilitätsmodus ausführen für:".

Alles scheint gut zu funktionieren und das Display sieht gut aus (wenn auch etwas verschwommen / pixelig). Der einzige Unterschied, den ich sehen kann, ist, dass die Titelleiste im Windows XP-Stil ist (oh nein !!!).

Ich bin gespannt, ob dies für andere funktioniert und ob jemand auf Probleme stößt.

Jamie Carl
quelle
4
Leider gibt es in der Dropdown-Liste in Windows 8.1 kein "Windows XP ...". Die niedrigste Version ist Vista (was zumindest auf meinem System den Start verhindert)
Topherg
@cgoddard Das ist ... nicht wahr. Ich habe gerade Jamies Anweisungen unter Windows 8.1 befolgt und es hat perfekt funktioniert.
pdusen
1
@pdusen nicht sicher, was Sie denken, dass es keine Option für Win XP gibt.
Ich
2
@pdusen fair genug jedoch: networksteve.com/windows/topic.php/… & tinypic.com/r/6nz8e1/8
topherg
1
Ihr habt beide recht. Die Option ist nur für 32-Bit-Eclipse verfügbar. Ich habe versucht, die Anweisungen mit 64-Bit-Eclipse und ich sehe nur Vista-Kompatibilität. Ich habe es mit 32-Bit versucht und ich habe die Version der verfügbaren Einstellungen mit Windows XP gesehen und es funktioniert! Das ist toll. Es hat mein Yoga II Pro endlich nützlich für die Entwicklung von Java gemacht.
Dan Smith
9

Ich fand, dass der einfachste Weg darin bestand, eine Manifestdatei zu erstellen, die Windows zwingt, die Anwendung zu skalieren. Es ist verschwommen und nicht ideal, aber besser als eine fast unsichtbare Benutzeroberfläche! Es scheint, dass diese Technik auch auf jede Anwendung anwendbar ist.

Erstellen Sie eine eclipse.exe.manifest- Datei im selben Ordner wie eclipse.exe und platzieren Sie das folgende XML darin:

<?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>
Brendan Annable
quelle
4
Hinweis: Damit dies funktioniert, müssen Sie die Registrierung ändern. Öffnen Sie regedit und erstellen Sie einen Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest(DWORD) mit dem Wert 1.
ZhekaKozlov
7

Der beste Weg ist, das Exe-Manifest mit etwas wie Ressourcen-Tuner zu bearbeiten und hinzuzufügen

    <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>        

nach der abhängigkeit, die exe als dpi ahnungslos einzustellen. Auf diese Weise wird das Programm ein wenig pixelig, aber es hat eine komfortable Größe.

Yucelen Gul
quelle
Für weitere Informationen: danantonielli.com/adobe-app-scaling-on-high-dpi-displays-fix
bugybunny
5

Die beste mühelose Lösung ist Eclipse Neon. Alle Fehler wurden im Rahmen dieser Version behoben. https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383

Shirish Coolkarni
quelle
4
Eine kleine Einschränkung ist, dass das Problem nicht sofort behoben wurde, aber das Hinzufügen der folgenden Elemente zu den vmargs meiner Datei eclipse.ini hat Folgendes bewirkt: -Dswt.autoScale = 200
William Dutton
Ich musste beide -Dswt.autoScale = 200 hinzufügen und die GTK3-Unterstützung ( env SWT_GTK3=0 eclipse) deaktivieren
Paul Hicks
Ich habe -Dswt.autoScale=200Symbole hinzugefügt und vergrößert, aber die Auflösungsqualität vollständig verloren. Also habe ich diese Änderung in der eclipse.iniDatei zurückgesetzt. Aber auch nach dem Entfernen des -Dswt.autoScale=200Eintrags erscheinen die Symbole in meinem Eclipse-Photon immer noch groß
bemannt
"Alle Fehler sind behoben ..." scheint mir eine Übertreibung zu sein.
iX3
3

-SurfacePro3-

  • Laden Sie die Eclipse "32bit Version" herunter und entpacken Sie sie.
  • Führen Sie im "Windows XP-Modus" aus.

quelle
3

Der Kompatibilitätsmodus für Windows XP ist nur für die 32-Bit-Version von Eclipse verfügbar. Nach dem Ausführen in diesem Kompatibilitätsmodus haben die Symbole und der Text die richtige Größe, sind jedoch verschwommen, da sie von ihrer nativen Auflösung auf die Bildschirmauflösung skaliert werden Die Qualität geht verloren.

Dan Romulus
quelle
3

Ich habe die Lösung von @ Sigh behoben, indem ich ein (Linux) shellscript ( .sh) erstellt habe, um etwas Ähnliches zu tun. Dies ist sehr grob, brutal und erfordert eine Übernahme für Ihr spezifisches System. Benutzung auf eigene Gefahr. Dies könnte Ihre gesamte Installation beschädigen. Erstellen Sie Backups der Ordner, bevor Sie dieses Skript ausführen. Skript kann verbessert werden.

#!/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

Führen Sie dies in /opt/eclipse/pluginsund ~/.eclipse/org.eclipse.platform_4.x.x/plugins(oder wie auch immer die Pfade für Ihre Installation lauten) aus. Gleiche Probleme wie bei der Lösung von @ Sigh: Dies ist eine brutale "Korrektur" und bricht nach jedem Update oder jeder Neuinstallation ab.

Skript kann perfektioniert werden:

  • Ignorieren Sie JAR-Dateien ohne den Ordner / icons /
  • Ändern Sie nur die Größe von Bildern mit einer Größe von 16 x 16, damit Sie diese nach jedem Update / jeder Installation erneut ausführen können

Benötigt imagemagick.


Vorsichtsmaßnahmen

  • Es funktioniert nicht bei allen Symbolen.
    • Weiß jemand, wo sich die anderen Assets befinden oder warum ihre Größe nicht geändert wird? Vielleicht sind sie nicht .gif?
  • Die Projektexplorer-Symbole sind durcheinander.

Korrekturen sind willkommen!

Redsandro
quelle
2
Ich habe eine modifizierte Version von @ Redsandros Code erstellt, die Sie in dieser Übersicht sehen können. Diese vereinfacht einen Teil des Verzeichnisdurchlaufs, vereinfacht den Umgang mit temporären Dateien und sucht nach Bildern mit einer Größe von 16 oder weniger Pixeln.
gene_wood
@gene_wood Sie verwenden einige clevere Bash-Befehle. Ich habe immer noch das Problem, dass die (kleinen <16px) Overlay-Symbole auf den Project Explorer-Symbolen irgendwie riesig erscheinen (in meinem ursprünglichen Skript und folglich in Ihrem) und die tatsächlichen Dateisymbole verdecken. Vielleicht müssen wir Bilder ignorieren, die größer oder kleiner als 16 Pixel sind. Wie auch immer, macht es Ihnen etwas aus, meine Antwort zu stimmen? : D
Redsandro
Basierend auf dem @ gene_wood-Skript tauschen Sie die Symbole -name "*.gif"mit -name '*.png' -o -name '*.gifund soweit ich sehen kann, werden alle Symbole vergrößert.
Marc Johnen
3

Schauen Sie sich Neon (4.6) M6 an - Neu und bemerkenswert , die Meilensteinversion enthält eine automatische Skalierung für Bilder (z. B. für die Symbolleiste).

SWT bietet eine auflösungsbasierte automatische Skalierung

SWT skaliert jetzt automatisch Bilder auf hochauflösenden Monitoren unter Windows und Linux, ähnlich wie die Retina-Unterstützung des Mac unter OS X. Wenn keine hochauflösenden Bilder vorhanden sind, skaliert SWT die verfügbaren Bilder automatisch, um sicherzustellen, dass SWT-basierte Anwendungen dies mögen Eclipse werden proportional zur Auflösung des Monitors skaliert.

Geben Sie hier die Bildbeschreibung ein

Diese Funktion kann unter Windows und GTK deaktiviert werden, indem dieses VM-Argument in eclipse.ini oder in der Befehlszeile nach -vmargs auf false gesetzt wird:

-Dswt.enable.autoScale = false

Die automatische Skalierung kann auf dem Mac nicht deaktiviert werden, da sie vom Betriebssystem bereitgestellt wird.

Vorsichtsmaßnahmen: Wir sind uns bewusst, dass einige skalierte Bilder bei Skalierungsfaktoren von weniger als 200% schlecht aussehen. Dies wird in M7 verbessert. Darüber hinaus arbeiten wir an der Unterstützung von Bildern mit hoher DPI in der Plattform-Benutzeroberfläche, damit Plug-In-Anbieter Symbole mit hoher DPI hinzufügen können, ohne Codeänderungen vornehmen zu müssen.



Oder vielleicht hilft das, in Eclipse Mars wurde API für hohe Auflösung hinzugefügt

Neue APIs wurden hinzugefügt, um das Rendern hochauflösender Bilder auf Monitoren mit hoher DPI zu unterstützen. Der Image-Klasse wurden zwei Konstruktoren hinzugefügt. Sie akzeptieren Rückrufe von Bildanbietern, mit denen Clients auflösungsabhängige Versionen von Bildern bereitstellen können:

public interface ImageDataProvider {
  public ImageData getImageData (int zoom);
}
public interface ImageFileNameProvider {
  public String getImagePath (int zoom);
}

Abhängig von der Monitorkonfiguration des Benutzers fordert SWT Bilder mit der entsprechenden Zoomstufe an. In diesem Beispiel werden 3 Originalbilder angezeigt, gefolgt von Varianten, deren Auflösung sich je nach Auflösung Ihres Monitors ändert: Snippet367.java .

Beachten Sie, dass dies nur der erste Schritt ist, um hochauflösende Bilder in SWT- und Eclipse-basierten Anwendungen zu unterstützen. Derzeit wird daran gearbeitet, die neuen APIs in die Plattform aufzunehmen. Darüber hinaus ist mehr Arbeit in SWT erforderlich, um das Zeichnen in hochauflösende Bilder über GC ordnungsgemäß zu unterstützen.

APIs für hochauflösende Monitore unterstützen
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html

flavio.donze
quelle
Ich habe gerade Neon M7 installiert und das Ändern des Werts für die automatische Skalierung hat keine Auswirkung auf die Symbolgröße. Ehh -vmargs -Dswt.autoScale = 300
Kirill Yunussov
2

Die folgende Lösung hat bei mir funktioniert

Zuerst müssen Sie diesen Registrierungsschlüssel hinzufügen

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

Als nächstes muss eine Manifestdatei mit demselben Namen wie die ausführbare Datei im selben Ordner wie die ausführbare Datei vorhanden sein. Die Datei heißt eclipse.exe.manifest und besteht aus:

<?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>

Weitere Details finden Sie hier

KItis
quelle
2
Was am Ende für mich funktioniert hat, war das Hinzufügen der Manifestdatei zur javaw.exe, genau wie https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 say
elysch
1
Danke, Elysch. Das Erstellen von eclipse.exe.manifest funktionierte für Eclipse Mars.1, jedoch nicht für Mars.2. Javaw.exe.manifest funktioniert!
Rakensi
2

Die folgende Änderung funktioniert nahtlos.

Zitat aus der Antwort von CrazyPenguin

"Für diejenigen wie mich, die festgestellt haben, dass sie selbst auf der neuen Eclipse nicht skaliert wurden, siehe hier: swt-autoscale-tweaks Grundsätzlich habe ich meiner Datei eclipse.ini -Dswt.autoScale = viertel hinzugefügt."

Sujan Reddy A.
quelle
2

Ich habe eine Referenz gefunden, die vorschlägt, Folgendes zu eclipse.ini hinzuzufügen

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

Dies hat die Größe der Symbole für mich unter Windows 10 verdoppelt. Ich verwende Eclipse Version: 2020-03 (4.15.0)

Tim Dowty
quelle
1

Danke Seufz David Levy. Ich konnte mich ohne deine Lösung nicht auf Eclipse entwickeln. Ich musste Ihrem Code einen Coupla-Catch (Ausnahmen) hinzufügen, damit er funktioniert:

            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;*
                    }**
JDOaktown
quelle
1
Du hast es zum Laufen gebracht! Könnten Sie eine Binärdatei kompilieren oder erklären, wie dies ausgeführt wird? Auch sehen Github Kommentar .
Redsandro
1

In JaxEnter gibt es einen schönen Artikel über HiDPI für Eclipse

Anand
quelle
Der Artikel sagt im Grunde
elysch
1

Was am Ende für mich funktioniert hat, war das Hinzufügen der Manifestdatei zur javaw.exe, genau wie Heikki Juntunen unter https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 sagte

Die Anweisungen zum Bearbeiten der Registrierung und zum Erstellen der Manifestdatei wurden von Matthew Cochrane unter https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60 und @KItis hier geschrieben

Ich habe hier eine Kopie dieses Beitrags abgelegt:


Zuerst müssen Sie diesen Registrierungsschlüssel hinzufügen

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

Als nächstes muss eine Manifestdatei mit demselben Namen wie die ausführbare Datei im selben Ordner wie die ausführbare Datei vorhanden sein. Die Datei heißt eclipse.exe.manifest und besteht aus:

<?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>
elysch
quelle
0

Hier ist meine Lösung Inspiriert von @ Sighs Lösung (diese verwendet keinen Maven):

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

Dies funktioniert, indem nach allen Bildern gesucht wird, die kleiner oder gleich 16 x 16 Pixel sind, und sie um den vom Benutzer gewünschten Faktor vergrößert werden.

Ausführen des Dienstprogramms: Java Images.EclipseIconEnlarger eclipseBasePath MagnificaitonFactor

Beispiel: Java Images.EclipseIconEnlarger C: \ Users \ Amrit \ Codes \ Eclipse 2

eclipseBasePath = Pfad, in dem sich eclipse.exe befindet, z. B. C: \ Users \ Amrit \ Codes \ eclipse magnificationfactor = Faktor, um den das Bild vergrößert werden soll, z. B. 2 = doppelt

Akhadka
quelle
Bitte fügen Sie Ihrer Antwort mindestens eine Zusammenfassung Ihrer Lösung hinzu. Nur-Link-Antworten gelten als schlechte Praxis stackoverflow.com/help/how-to-answer
Manos Nikolaidis
Vielen Dank. Funktioniert perfekt und ändert die Symbole an Ort und Stelle. Führen Sie es nur ab und zu aus, und alle Symbole bleiben groß.
Milo van der Zee
0

Hier ist eine andere Befehlszeilenlösung, die jedoch unter Windows funktioniert.

Es muss Winrar installiert sein (bearbeiten Sie die eingestellte Winrar-Linie, um auf die Winrar-Installation zu verweisen).

Außerdem muss imagemagick installiert und sein Pfad in Ihrer Befehlszeile hinzugefügt werden.

Ein letzter Kommentar ist, dass ich empfehle, dies auszuführen, bevor Sie Eclipse zum ersten Mal öffnen (dh Neuinstallation). Es gibt Symbole, die automatisch aus Gläsern entpackt und in eclipse / configuration / org.eclips.osgi / ... (möglicherweise unter anderen Ordnern) gespeichert werden. Durch Bearbeiten der JAR-Datei wird verhindert, dass die Größe des Symbols geändert wird. Möglicherweise können Sie diesen Ordner löschen und er wird möglicherweise automatisch wieder extrahiert, aber ich kann ihn nicht bestätigen.

Erstellen Sie zum Ausführen einfach eine doubler.bat-Datei in Ihrem Eclipse / Plugins-Verzeichnis und ändern Sie die Größe aller Symbole, die kleiner als 32 x 32 sind, auf diese proportionierte Größe.

Hier ist der Code:

@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

Es erstellt eine Datei output.txt und fügt alle Metadaten der ORIGINAL-Bilder ein, bevor sie konvertiert werden, unabhängig davon, ob sich die Größe geändert hat oder nicht.

NeuralNoise
quelle
0

Wenn Sie keine neuere Version von Eclipse installieren möchten

Wie hier erwähnt , fügen Sie in der Datei eclipse.init-Dswt.autoScale=exact nach dem hinzu -vmargsund Sie können loslegen .

Hier werden exactdie Symbole auf den nativen Zoom skaliert. Sie müssen sich jedoch an die unscharfen und gezackten Symbole anpassen.

HeXMaN
quelle
0

Ich hatte dieses Problem, als ich meine Standardsprache für Windows 10 von Englisch auf Italienisch änderte und Eclipse installiert wurde, wenn die Standardsprache Englisch war. Das Zurücksetzen der Windows-Sprache auf Eng und ein Neustart lösten das Problem. Ich weiß nicht, was passiert ist. Windows benennt einige Ordner wie C: \ Users um, die es in Ihre Standardsprache übersetzen (z. B. C: \ Utenti), und dies verursacht möglicherweise Probleme.

carlo.polisini
quelle
-1

Jaes obige Lösung hat bei mir funktioniert. Die offensichtliche Lösung hat bei mir nicht funktioniert. Danke Jae.

Setup: Auf meinem Windows 8.1 64-Bit-Laptop ohne Tablet habe ich Eclipse 64-Bit mit JDK 64-Bit heruntergeladen.

  1. Klicken Sie mit der rechten Maustaste auf den Desktop, um auf die Bildschirmauflösung zuzugreifen, und senken Sie die Anzeige der Bildschirmauflösung von 3000 auf 2048 x 1152.
  2. Klicken Sie auf den Link zum Vergrößern oder Verkleinern von Text und anderen Elementen und ändern Sie ihn in 150% statt extra groß - 250%.
  3. Abgemeldet und wieder angemeldet.
  4. Starten Sie Eclipse neu und die Symbole sind jetzt sichtbar, auch wenn sie etwas kleiner, aber jetzt viel besser lesbar sind.
milkteaeggtart
quelle