Icônes d'interface Eclipse très petites sur un écran haute résolution dans Windows 8.1


100

Les différentes icônes et boutons de l'interface Eclipse (Kepler) sont très, très petits sur un ordinateur portable avec un écran de 3200x1800px. La décoration d'erreur rouge qui semble indiquer des erreurs sur les fichiers est difficile à voir sauf si mon nez est à quelques centimètres de l'écran.

J'ai joué avec le réglage de la résolution de l'écran et d'autres paramètres du système d'exploitation (Windows 8.1), ce qui aide, mais les autres applications apparaissent trop grandes, et même dans ce cas, les icônes Eclipse sont inconfortablement petites. L'agrandissement des polices dans les préférences Eclipse (fenêtre> préférences> Police de la boîte de dialogue) n'affecte pas la taille de l'icône.

Existe-t-il un moyen simple de forcer des icônes plus grandes? Des contournements (j'ai utilisé la loupe mais c'est une solution plutôt maladroite)? Dois-je simplement acheter une loupe et la garder à côté de ma souris? Peut-être que quelqu'un devrait fabriquer une souris avec une loupe intégrée? :)

Merci.


pouvez-vous essayer d'utiliser Windows sans mode aérodynamique ... peut-être que cela pourrait éventuellement changer les icônes de vue ... ou changer la résolution de l'écran uniquement pour l'éclipse ..
Chanceux

J'ai remarqué que lorsque Eclipse démarre, l'écran de démarrage apparaît initialement agrandi (correctement), mais à un moment donné, il revient à la résolution normale (petite). Cela persiste dans l'atelier. Je me demande si cela se produit lors du passage de l' .exeexécution à la JVM, et il perd alors certaines informations dont Windows a besoin pour évoluer correctement?
nilskp

3
Bien qu'il existe de nombreuses bonnes solutions de contournement dans ces réponses, il existe un rapport de bogue officiel sur Eclipse ( bugs.eclipse.org/bugs/show_bug.cgi?id=421383 ). Je vous conseille de voter pour le bug si cela vous affecte, pour qu'il soit priorisé.
LondonAppDev

Je me demande si quelque chose pouvait être fait en utilisant la nouvelle CSS fonctionnalités dans Eclipse 4. Je l' ai cherché , mais je trouve cette supercherie CSS d'être assez complexe et n'a pas trouvé simple .iconmais classe pour laquelle nous pouvons mettre l' sizeà 200%.
Redsandro

Ceci est corrigé sur la dernière version Eclipse Photon
Crowne

Réponses:


7

J'ai recherché des solutions à ce problème le mois dernier, mais je n'ai pas encore trouvé de solution idéale. Il semble qu'il devrait y avoir un moyen de contourner cela, mais je ne peux tout simplement pas le trouver.

J'utilise un ordinateur portable avec un écran 2560x1600 avec le paramètre d'agrandissement de 200% dans Windows 8.1 (ce qui le fait ressembler à un écran 1280x800 mais plus clair).

Les applications qui prennent en charge ce mode "HiDPI" sont tout simplement magnifiques, mais celles qui ne le font pas (par exemple Eclipse) affichent de minuscules icônes qui sont presque illisibles.

J'utilise également une version obsolète de Visual Studio. Cela n'a pas été mis à jour pour HiDPI (évidemment MS veut que j'utilise une version plus récente de VS), mais cela fonctionne toujours assez bien avec les écrans HiDPI car il ne fait que redimensionner les choses deux fois - les tailles des icônes et des lettres sont normales mais elles regardez une résolution inférieure.

Après avoir vu comment fonctionne VS, j'ai commencé à chercher un moyen de lancer Eclipse dans le même mode, car il ne serait pas techniquement très difficile de simplement mettre à l'échelle les choses comme le fait VS. Je pensais qu'il y aurait une option que je pourrais définir pour lancer Eclipse dans ce mode. Je n'ai pas pu le trouver cependant.

Après tout, j'ai fini par abaisser la résolution de l'écran à 1/4 (de 2560x1600 à 1280x800) sans grossissement (de 200% à 100%) et à ne pas profiter de l'écran haute résolution jusqu'à ce qu'Eclipse soit mis à jour pour le prendre en charge depuis que je a dû faire du travail, mais j'attends désespérément une réponse à ce problème.


Merci, Jae. J'ai également adopté votre approche: réduire la résolution de l'écran et le grossissement en tandem. Ce n'est pas une solution idéale car de nombreuses applications sont bien meilleures avec une résolution plus élevée. Espérons que d'autres applications profiteront bientôt des fonctions HiDPI.
SeeJay719

2
Je viens de trouver un fil de discussion à ce sujet: bugs.eclipse.org/bugs/show_bug.cgi?id=421383
Jae

2
@Jae alors que le bogue que vous avez lié a résolu le problème fondamental dans SWT, l'interface utilisateur d'Eclipse doit encore adopter la nouvelle API, voir bugs.eclipse.org/382972 (toujours non résolu à ce jour).
Stephan Herrmann

44

J'ai aussi lutté un peu avec ce problème. J'ai remarqué que beaucoup d'entre vous ont publié des résolutions vraiment compliquées, mais il existe un moyen beaucoup plus simple de le faire! C'est juste un programme et vous ne devriez pas avoir à modifier les scripts ou installer des outils tiers. Le problème est lié à la mise à l'échelle High DPI comme mentionné ci-dessus, mais ce que je pense que beaucoup d'entre vous manquent, c'est que vous ne pouvez pas modifier directement les paramètres de compatibilité sur le lanceur lui-même. Le lanceur et l'éclipse sont deux programmes différents! Vous devez accéder à Eclipse.exe et remplacer l'option de mise à l'échelle DPI élevé. Une fois défini, vous pouvez utiliser le lanceur normalement. Le lanceur frappera l'exécutable, lancera eclipse.exe et puisque vous avez défini les paramètres de compatibilité sur le .exe, il fonctionnera en utilisant ces paramètres.

Voici une capture d'écran de la façon dont j'ai défini mes paramètres de compatibilité.

Paramètres de compatibilité Eclipse.exe

Et oui, les icônes étaient super petites avant d'ajuster ce paramètre. J'ai essayé de définir les paramètres de compatibilité sur le lanceur lui-même, mais cela n'a évidemment pas résolu le problème. Mais après avoir défini le paramètre de remplacement High DPI pour les icônes eclipse.exe sont maintenant de taille normale. Faites-moi savoir si cela fonctionne pour les autres!


C'est très cool et je prévois d'utiliser cette fonctionnalité sur d'autres applications.
javaPlease42

C'est génial, le seul problème est que l'éclipse montre beaucoup de choses floues.
Chagai Friedlander

37

J'ai pensé qu'une solution serait d'exécuter une opération par lots sur les JAR Eclipse qui contiennent les icônes et doublent leur taille. Après un peu de bricolage, cela a fonctionné. Les résultats sont plutôt bons - il y a encore quelques icônes "têtues" qui sont minuscules mais la plupart semblent bonnes.

Eclipse après traitement sur QHD

J'ai rassemblé le code dans un petit projet: https://github.com/davidglevy/eclipse-icon-enlarger

Le projet fonctionne par:

  1. Itérer sur chaque fichier dans le répertoire de base eclipse (spécifié dans la ligne d'argument)
  2. Si un fichier est un répertoire, créez un nouveau répertoire sous le répertoire actuel dans le dossier de sortie (spécifié dans la ligne d'argument)
  3. Si un fichier est au format PNG ou GIF, doublez
  4. Si un fichier est un autre type de copie
  5. Si un fichier est un JAR ou un ZIP, créez un fichier cible et traitez le contenu en utilisant un processus similaire: a. Les images sont doublées b. Les autres fichiers sont copiés tels quels dans le ZipOutputStream.

Le seul problème que j'ai trouvé avec cette solution est qu'elle ne fonctionne vraiment qu'une seule fois - si vous devez télécharger des plugins, faites-le à l'emplacement d'origine et réappliquez le processus par lots d'augmentation des icônes.

Sur le Dell XPS, son exécution prend environ 5 minutes.

Heureux pour les suggestions / améliorations, mais ce n'est vraiment qu'une solution ad hoc en attendant que l'équipe Eclipse trouve une solution.


1
Quelqu'un pourrait-il le construire, s'il vous plaît (pour une utilisation avec Eclipse C / C ++)?
Dvor_nik

2
Pourriez-vous expliquer un peu comment l'exécuter dans Eclipse? Lors de l'importation en tant que projet java, j'obtiens 58 erreurs. Je ne sais rien de Java. Ajoutez de préférence à README.md. :)
Redsandro

vous pouvez l'exécuter en l'exécutant en tant que -> Application Java, puis ajoutez deux arguments -b PATH_TO_YOUR_ECLIPSE_DIR -o PATH_TO_EMPTY_OUTPUT_DIR
Manuel Manhart

Il a jeté une exception ArrayOutOfBounds après un certain temps, mais si vous copiez tous les fichiers manquants de votre dossier eclipse (pas d'écrasement) dans le dossier de sortie, il démarre et les icônes sont plus grandes.
Manuel Manhart

18

Eu le même problème, pour le résoudre, créez un raccourci du lanceur, faites un clic droit> propriétés> compatibilité> cochez `` Remplacer le comportement de mise à l'échelle DPI élevé '' et sélectionnez Système amélioré dans la liste déroulante comme indiqué sur la photo ci-dessous. Relancez l'éclipse après les modifications.

entrez la description de l'image ici


1
C'est la seule solution simple qui a fonctionné pour moi sur Windows 10 avec Eclipse Photon
Kapil

Après avoir fait cela, mes onglets ont commencé à clignoter et à se dissiper, alors j'ai dû revenir en arrière et maintenant j'ai encore de petites icônes :(
gtx

17

Pour terminer, j'ai pensé ajouter que ce problème est résolu dans Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php (la version actuelle du développeur). Les icônes ont l'air un peu tristes (basse résolution) mais au moins elles sont correctement mises à l'échelle sur mon écran 4k.


4
Ici , le « ce qui est nouveau » page pour Neon ... et vous ne devinerez jamais ce qui est en haut de la liste: eclipse.org/eclipse/news/4.6/platform.php
HDave

6
Pour ceux, comme moi, qui ont trouvé que même sur le nouvel Eclipse, il n'était pas mis à l'échelle, voir ici: swt-autoscale-tweaks En gros, j'ai ajouté -Dswt.autoScale=quarterà mon eclipse.inifichier.
CrazyPenguin

11

Je tourne sur un Dell XPS 15. Plutôt que de bourrer de résolutions et d'agrandissements et tout ça, j'ai juste fait ce qui suit:

  • Faites un clic droit sur l'icône du lanceur
  • Cliquez sur "propriétés"
  • Sélectionnez l'onglet "compatibilité"
  • Choisissez «Windows XP (Service Pack 3)» pour «Exécuter ce programme en mode de compatibilité pour:».

Tout semble fonctionner correctement et l'affichage semble bon (même s'il est un peu flou / pixélisé). La seule différence que je peux voir est que la barre de titre est dans le style Windows XP (oh non !!!).

Je suis curieux de savoir si cela fonctionne pour les autres et si quelqu'un rencontre des problèmes.


4
Malheureusement, il n'y a pas de "Windows XP ..." dans la liste déroulante de Windows 8.1, la version la plus basse est Vista (qui, au moins sur mon système, empêche le démarrage)
topherg

@cgoddard C'est ... pas vrai. J'ai juste suivi les instructions de Jamie sur Windows 8.1 et cela a parfaitement fonctionné.
pdusen

1
@pdusen ne sait pas ce qui vous fait penser que, il n'y a pas d'option pour win xp. ont récemment effectué une installation propre, et le réglage du mode de compatibilité ne l'empêche pas de se charger, mais il a toujours le même
aspect


1
Vous avez tous les deux raison. L'option n'existe que pour l'éclipse 32 bits. J'ai essayé les instructions avec une éclipse 64 bits et je ne vois que la compatibilité Vista. J'ai essayé avec 32 bits et j'ai vu la version des paramètres disponibles avec Windows XP et ça marche! C'est bien. Cela a finalement rendu mon Yoga II Pro utile pour développer Java.
Dan Smith

9

J'ai trouvé que le moyen le plus simple était de créer un fichier manifeste qui oblige Windows à mettre à l'échelle l'application. C'est flou et non idéal mais mieux qu'une interface utilisateur presque invisible! Il semble que cette technique s'applique également à toutes les applications.

Créez un fichier eclipse.exe.manifest dans le même dossier que eclipse.exe et placez-y le XML suivant:

<?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
Remarque: pour que cela fonctionne, vous devez modifier le registre. Ouvrez regedit et créez une clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest(DWORD) avec la valeur 1.
ZhekaKozlov

7

Le meilleur moyen est de modifier le manifeste exe avec quelque chose comme le tuner de ressources et d'ajouter

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

après la dépendance pour définir l'exe comme dpi inconscient. De cette façon, le programme sera un peu pixélisé mais il sera dans une taille confortable.



5

La meilleure solution sans effort est d'opter pour Eclipse Neon. Tous les bogues sont corrigés dans le cadre de cette version. https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383


4
Une petite mise en garde est que cela n'a pas immédiatement résolu le problème, mais l'ajout de ce qui suit aux vmargs de mon fichier eclipse.ini a fait: -Dswt.autoScale = 200
William Dutton

J'ai dû ajouter à la fois -Dswt.autoScale = 200 et désactiver le support GTK3 ( env SWT_GTK3=0 eclipse)
Paul Hicks

J'ai inclus -Dswt.autoScale=200et la taille des icônes a augmenté mais perdu complètement la qualité de résolution. J'ai donc annulé ce changement de eclipse.inifichier. Mais même après avoir supprimé l' -Dswt.autoScale=200entrée, les icônes apparaissent toujours grandes dans mon photon d'éclipse
mannedear

"Tous les bugs sont corrigés ..." me semble un peu exagéré.
jacobq

3

-SurfacePro3-

  • Téléchargez et décompressez eclipse "Version 32 bits".
  • Exécuter en "mode Windows XP".

3

Le mode de compatibilité pour Windows Xp, il n'est disponible que pour la version Eclipse 32 bits et après avoir exécuté dans ce mode de compatibilité, les icônes et le texte seront de la bonne taille, mais flous car ils sont mis à l'échelle de leur résolution native à la résolution de l'écran et ce faisant la qualité est perdue.


3

J'ai corrigé la solution de @ Sigh en créant un shellscript ( .sh) (Linux ) pour faire quelque chose de similaire. Ceci est très grossier, brutal et nécessite une adoption pour votre système spécifique. À utiliser à vos risques et périls. Cela pourrait casser toute votre installation. Effectuez des sauvegardes des dossiers avant d'exécuter ce script. Le script peut être amélioré.

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

Exécutez ceci dans /opt/eclipse/pluginset ~/.eclipse/org.eclipse.platform_4.x.x/plugins(ou quels que soient les chemins de votre installation). Mêmes problèmes qu'avec la solution de @ Sigh: Il s'agit d'un "correctif" brutal qui se rompt après chaque mise à jour ou nouvelle installation.

Le script peut être perfectionné:

  • Ignorer les fichiers .jar sans / icons / dossier
  • Ne redimensionnez que les images 16x16 afin de pouvoir l'exécuter à nouveau après chaque mise à jour / installation

Nécessite imagemagick.


Mises en garde

  • Cela ne fonctionne pas sur toutes les icônes.
    • Quelqu'un sait-il où se trouvent les autres éléments ou pourquoi ils ne sont pas redimensionnés? Peut-être pas .gif?
  • Les icônes de l'Explorateur de projet sont en désordre.

Les correctifs sont les bienvenus!


2
J'ai fait une version modifiée du code de @ Redsandro que vous pouvez voir dans cet essentiel qui simplifie une partie de la traversée du répertoire, simplifie le traitement des fichiers temporaires et recherche des images de 16 pixels ou moins.
gene_wood

@gene_wood vous utilisez des commandes bash intelligentes. J'ai toujours le problème que les (petites icônes de superposition <16px) sur les icônes de l'Explorateur de projet semblent en quelque sorte énormes (dans mon script d'origine et par conséquent le vôtre), obscurcissant les icônes de fichier réelles. Peut-être devons-nous ignorer les images plus grandes ou plus petites que 16 pixels. Quoi qu'il en soit, pensez-vous voter pour ma réponse? : D
Redsandro

Basé sur le script @gene_wood, échangez -name "*.gif"avec -name '*.png' -o -name '*.gifet pour autant que je puisse voir, toutes les icônes seront agrandies.
Marc Johnen

3

Jetez un œil à Neon (4.6) M6 - Nouveau et remarquable , la version jalon contient une mise à l'échelle automatique pour les images (par exemple pour la barre d'outils).

SWT fournit une mise à l'échelle automatique basée sur la résolution

SWT met désormais automatiquement à l'échelle les images sur des moniteurs haute résolution sous Windows et Linux, de la même manière que la prise en charge Retina de Mac sur OS X. En l'absence d'images haute résolution, SWT redimensionnera automatiquement les images disponibles pour garantir que les applications basées sur SWT telles que Eclipse est mis à l'échelle proportionnellement à la résolution du moniteur.

entrez la description de l'image ici

Cette fonctionnalité peut être désactivée sur Windows et GTK en définissant cet argument VM sur false dans eclipse.ini ou sur la ligne de commande après -vmargs:

-Dswt.enable.autoScale = false

La mise à l'échelle automatique ne peut pas être désactivée sur le Mac car elle est fournie par le système d'exploitation.

Avertissements: nous sommes conscients que certaines images mises à l'échelle semblent mauvaises à des facteurs d'échelle inférieurs à 200%. Cela sera amélioré dans M7. De plus, nous travaillons sur la prise en charge des images à haute résolution dans l'interface utilisateur de la plate-forme, afin que les fournisseurs de plug-ins puissent ajouter des icônes à haute résolution sans modifier le code.



Ou peut-être que cela aide, dans l'API Eclipse Mars pour la haute résolution a été ajouté

De nouvelles API ont été ajoutées pour prendre en charge le rendu d'images haute résolution sur des moniteurs haute résolution. Deux constructeurs ont été ajoutés à la classe Image. Ils acceptent les rappels de fournisseurs d'images qui permettent aux clients de fournir des versions d'images dépendant de la résolution:

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

En fonction de la configuration du moniteur de l'utilisateur, SWT demandera des images avec le niveau de zoom correspondant. Voici un exemple qui affiche 3 images originales, suivies de variantes dont la résolution change en fonction de la résolution de votre moniteur: Snippet367.java .

Notez qu'il ne s'agit que de la première étape pour prendre en charge les images haute résolution dans les applications SWT et Eclipse. Des travaux sont en cours pour adopter les nouvelles API de la plateforme. De plus, plus de travail dans SWT est nécessaire pour prendre en charge correctement le dessin dans des images haute résolution via GC.

API pour la prise en charge des moniteurs à haute résolution
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html


Je viens d'installer Neon M7 et la modification de la valeur de mise à l'échelle automatique n'a aucun effet sur la taille de l'icône. Ehh -vmargs -Dswt.autoScale = 300
Kirill Yunussov

2

La solution suivante a fonctionné pour moi

Vous devez d'abord ajouter cette clé de registre

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

Ensuite, un fichier manifeste portant le même nom que l'exécutable doit être présent dans le même dossier que l'exécutable. Le fichier est nommé eclipse.exe.manifest et se compose de:

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

vous pouvez trouver plus de détails ici


2
Ce qui a fonctionné pour moi à la fin a été d'ajouter le fichier manifeste au javaw.exe, tout comme https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 say
elysch

1
Merci, elysch. Faire eclipse.exe.manifest a fonctionné pour Eclipse Mars.1, mais pas pour Mars.2. Faire javaw.exe.manifest a fonctionné!
rakensi


2

J'ai trouvé une référence qui suggérait d'ajouter ce qui suit à eclipse.ini

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

Cela a doublé la taille des icônes pour moi sur Windows 10. J'utilise Eclipse Version: 2020-03 (4.15.0)


1

Merci Sigh David Levy. Je ne pourrais pas développer sur Eclipse sans votre sol'n. J'ai dû ajouter un coupla catch (exceptions) à votre code pour le faire fonctionner:

            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;*
                    }**

1
Vous l'avez fait fonctionner! Pourriez-vous compiler un binaire ou expliquer comment le faire fonctionner? Voir également le commentaire de github .
Redsandro


1

Ce qui a fonctionné pour moi à la fin a été d' ajouter le fichier manifeste à javaw.exe, tout comme Heikki Juntunen l'a dit à https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66

Les instructions sur la façon de modifier le registre et de créer le fichier manifeste ont été écrites par Matthew Cochrane à https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60 et @KItis ont écrit les instructions ici

J'ai mis ici une copie de ce post:


Vous devez d'abord ajouter cette clé de registre

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

Ensuite, un fichier manifeste portant le même nom que l'exécutable doit être présent dans le même dossier que l'exécutable. Le fichier est nommé eclipse.exe.manifest et se compose de:

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

0

Voici ma solution inspirée de la solution de @ Sigh (celle-ci n'utilise pas maven):

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

Cela fonctionne en recherchant toutes les images plus petites ou égales à 16x16px et en les augmentant selon le facteur souhaité par l'utilisateur.

exécution de l'utilitaire: java images.EclipseIconEnlarger eclipseBasePath magnificaitonfactor

par exemple: java images.EclipseIconEnlarger C: \ Users \ Amrit \ Codes \ eclipse 2

eclipseBasePath = chemin où se trouve eclipse.exe, par exemple C: \ Users \ Amrit \ Codes \ eclipse grossificationfactor = facteur par lequel l'image doit être agrandie, par exemple 2 = double


Veuillez ajouter au moins un résumé de votre solution dans votre réponse. Les réponses aux liens uniquement sont considérées comme une mauvaise pratique stackoverflow.com/help/how-to-answer
Manos Nikolaidis

Merci. Fonctionne parfaitement et modifie les icônes en place. Exécutez simplement une fois de temps en temps et toutes les icônes restent grandes.
Milo van der Zee

0

Voici une autre solution de ligne de commande, mais cela fonctionne pour Windows.

Il nécessite l'installation de winrar (modifiez la ligne set winrar pour qu'elle pointe vers l'installation de winrar).

Il nécessite également l'installation d'imagemagick et l'ajout de son chemin dans votre ligne de commande.

Un dernier commentaire est que je recommande d'exécuter ceci avant d'ouvrir Eclipse pour la première fois (c'est-à-dire, une nouvelle installation). Il y a des icônes qui sont automatiquement décompressées des fichiers jars et enregistrées dans eclipse / configuration / org.eclips.osgi / ... (potentiellement parmi d'autres dossiers) et la modification du fichier .jar empêche l'icône d'être redimensionnée. Vous pourrez peut-être supprimer ce dossier et il se peut qu'il soit à nouveau extrait automatiquement, mais je ne peux pas confirmer.

Pour exécuter, créez simplement un fichier doubler.bat dans votre répertoire eclipse / plugins et il devrait redimensionner toute icône inférieure à 32x32 à cette taille proportionnée.

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

Il crée un fichier output.txt et insère toutes les métadonnées des images ORIGINALES avant leur conversion, qu'elle ait ou non changé de taille.


0

Si vous ne souhaitez pas installer une version plus récente d'Eclipse

Comme mentionné ici , dans le fichier eclipse.init , ajoutez -Dswt.autoScale=exactaprès le -vmargset vous êtes prêt à partir.

Ici exact, les icônes sont mises à l'échelle selon le zoom natif. Mais vous devrez vous ajuster avec les icônes floues et irrégulières.


0

J'ai eu ce problème lorsque j'ai changé ma langue par défaut de Windows 10 de l'anglais à l'italien, Eclipse étant installé lorsque la langue par défaut était Eng. Le retour à la langue de Windows en Eng et le redémarrage ont résolu le problème. Je ne sais pas ce qui s'est passé, Windows renomme certains dossiers comme C: \ Users en le traduisant dans votre langue par défaut (c'est-à-dire C: \ Utenti) et peut-être que cela pose des problèmes.


-1

La solution ci-dessus de Jae a fonctionné pour moi. La solution manifeste n'a pas fonctionné pour moi. Merci Jae.

Configuration: Sur mon ordinateur portable Windows 8.1 64 bits non tablette, j'ai téléchargé eclipse 64 bits avec jdk 64 bits.

  1. Cliquez avec le bouton droit de la souris sur le bureau pour accéder à la résolution de l'écran et abaissez l'affichage de la résolution de l'écran du niveau 3000 à 2048 x 1152.
  2. Cliquez sur le lien agrandir ou réduire le texte et les autres éléments et le changer en grand 150% au lieu de extra extra large - 250%.
  3. Déconnecté et reconnecté.
  4. Redémarrez Eclipse et les icônes sont maintenant visibles même si elles sont un peu plus petites, mais beaucoup plus lisibles maintenant.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.