eclipse windows-8.1

Íconos de la interfaz Eclipse muy pequeños en la pantalla de alta resolución en Windows 8.1



windows-8.1 (20)

Los diversos iconos y botones en la interfaz de Eclipse (Kepler) son muy, muy pequeños en una computadora portátil con una pantalla de 3200x1800px. La decoración de error rojo que parece indicar errores en los archivos es difícil de ver a menos que mi nariz esté a unos centímetros de la pantalla.

He jugado con el ajuste de la resolución de pantalla y otras configuraciones en el sistema operativo (Windows 8.1), lo que ayuda, pero hace que otras aplicaciones parezcan demasiado grandes, e incluso entonces los iconos de Eclipse son incómodamente pequeños. La ampliación de las fuentes en las preferencias de Eclipse (ventana> preferencias> Fuente de diálogo) no afecta el tamaño del icono.

¿Hay alguna manera fácil de forzar iconos más grandes? Cualquier solución alternativa (he utilizado el Ampliador, pero esa es una solución bastante torpe) ¿Debo comprar una lupa y guardarla junto a mi mouse? ¿Tal vez alguien debería hacer un ratón con una lupa incrustada? :)

Gracias.


-SurfacePro3-

  • Descarga y descomprime eclipse "Versión de 32 bits".
  • Ejecutar en "modo Windows XP".

Aquí está mi solución Inspirada por la solución de @Sigh (esta no usa maven):

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

Esto funciona al buscar todas las imágenes menores o iguales a 16x16px y escalarlas según el factor que desee el usuario.

ejecutando la utilidad: java images.EclipseIconEnlarger eclipseBasePath magnificaitonfactor

Por ejemplo: java images.EclipseIconEnlarger C: / Users / Amrit / Codes / eclipse 2

eclipseBasePath = ruta donde se encuentra eclipse.exe, por ejemplo C: / Users / Amrit / Codes / eclipse magnificationfactor = factor por el cual la imagen debe ser ampliada, por ejemplo 2 = doble


Aquí hay otra solución de línea de comandos, pero esto funciona para Windows.

Requiere winrar instalado (edite la línea winrar establecida para apuntar a la instalación winrar).

También requiere que se instale imagemagick y que se agregue su ruta en su línea de comandos.

Un último comentario es que recomiendo ejecutar esto antes de abrir Eclipse por primera vez (es decir, nueva instalación). Hay íconos que se desempaquetan automáticamente de los frascos y se guardan en eclipse / configuration / org.eclips.osgi / ... (potencialmente entre otras carpetas) y la edición del archivo .jar evita que el icono se redimensione. Es posible que pueda eliminar esta carpeta y es posible que se autoextraiga nuevamente, pero no puedo confirmarlo.

Para ejecutar, simplemente crea un archivo doubler.bat en tu directorio eclipse / plugins y debería redimensionar cualquier ícono de menos de 32x32 a ese tamaño proporcionado.

Aquí está el código:

@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

Crea un archivo output.txt e inserta todos los metadatos de las imágenes ORIGINALES antes de convertirlo, independientemente de si cambió el tamaño o no.


Arreglé la solución de @Sigh creando un shellscript ( .sh ) (Linux) para hacer algo similar. Esto es muy crudo, brutal y requiere adopción para su sistema específico. Úselo bajo su propio riesgo. Podría romper toda tu instalación. Haga copias de seguridad de las carpetas antes de ejecutar este script. La secuencia de comandos se puede mejorar.

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

Ejecute esto en /opt/eclipse/plugins y ~/.eclipse/org.eclipse.platform_4.xx/plugins (o cualquiera que sean las rutas para su instalación). Los mismos problemas que con la solución de @Sigh: esta es una "solución" brutal y se rompe después de cada actualización o nueva instalación.

El script se puede perfeccionar:

  • Ignorar archivos .jar sin / iconos / carpeta
  • Solo cambia el tamaño de las imágenes de 16x16 para que puedas ejecutar esto de nuevo después de cada actualización / instalación

Requiere imagemagick .

Advertencias

  • No funciona en todos los iconos.
    • ¿Alguien sabe dónde están los otros activos o por qué no son redimensionados? Quizás ellos no sean .gif ?
  • Los iconos de Project Explorer están en mal estado.

¡Las reparaciones son bienvenidas!


Eche un vistazo a Neon (4.6) M6: nuevo y digno de mención , el lanzamiento del hito contiene algunas escalas automáticas para las imágenes (por ejemplo, para la barra de herramientas).

SWT proporciona escalado automático basado en la resolución

SWT ahora escala automáticamente las imágenes en monitores de alta resolución en Windows y Linux, de forma similar al soporte Retina de Mac en OS X. En ausencia de imágenes de alta resolución, SWT escalará automáticamente las imágenes disponibles para garantizar que las aplicaciones basadas en SWT como Eclipse se escala proporcionalmente a la resolución del monitor.

Esta característica se puede deshabilitar en Windows y GTK estableciendo este argumento VM en falso en eclipse.ini o en la línea de comando después de -vmargs:

-Dswt.enable.autoScale = false

El escalado automático no se puede inhabilitar en la Mac, ya que es provisto por el sistema operativo.

Advertencias: Sabemos que algunas imágenes escaladas se ven mal a factores de escala inferiores al 200%. Esto se mejorará en M7. Además, estamos trabajando en la compatibilidad con imágenes de alta resolución de picos en la interfaz de usuario de la plataforma, de modo que los proveedores de complementos puedan agregar íconos de PPP alto sin realizar ningún cambio de código.



O tal vez esto ayude, en Eclipse Mars API para alta resolución se agregó

Se han agregado nuevas API para brindar soporte para la representación de imágenes de alta resolución en monitores de alta resolución. Se han agregado dos constructores a la clase de Imagen. Aceptan devoluciones de llamadas del proveedor de imágenes que permiten a los clientes suministrar versiones de imágenes que dependen de la resolución:

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

Dependiendo de la configuración del monitor del usuario, SWT solicitará imágenes con el nivel de zoom correspondiente. Aquí hay un ejemplo que muestra 3 imágenes originales, seguidas por variantes cuya resolución cambia dependiendo de la resolución de su monitor: Snippet367.java .

Tenga en cuenta que este es solo el primer paso para admitir imágenes de alta resolución en aplicaciones basadas en SWT y Eclipse. Se está trabajando para adoptar las nuevas API en la plataforma. Además, se requiere más trabajo en SWT para admitir adecuadamente el dibujo en imágenes de alta resolución a través de GC.

API para compatibilidad con monitores de alta resolución
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html


El modo de compatibilidad para Windows Xp, solo está disponible para la versión Eclipse de 32 bits y después de ejecutar en este modo de compatibilidad, los iconos y el texto tendrán el tamaño correcto, pero serán borrosos porque están escalados desde su resolución original a la resolución de pantalla. la calidad esta perdida


Encontré que la manera más fácil era crear un archivo de manifiesto que obliga a Windows a escalar la aplicación. ¡Es borroso y no ideal, pero es mejor que una interfaz de usuario casi invisible! Parece que esta técnica también se aplica a cualquier aplicación.

Cree un archivo eclipse.exe.manifest en la misma carpeta que eclipse.exe y coloque el siguiente XML dentro de él:

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


Gracias, suspiro, David Levy. No podría desarrollar en Eclipse sin tu sol. Tuve que agregar una captura de coupla (excepciones) a su código para que funcione:

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


Hay un buen artículo en JaxEnter para un trabajo alrededor de HiDPI para Eclipse


He buscado soluciones para este problema durante el último mes, pero aún no he encontrado una solución ideal. Parece que debería haber una forma de evitarlo, pero simplemente no puedo encontrarlo.

Uso una computadora portátil con una pantalla de 2560x1600 con la configuración de aumento del 200% en Windows 8.1 (lo que la hace parecer una pantalla de 1280x800 pero más clara).

Las aplicaciones que admiten ese modo "HiDPI" se ven magníficas, pero las que no (por ejemplo, Eclipse) muestran pequeños iconos que son prácticamente ilegibles.

También uso una versión desactualizada de Visual Studio. Eso no se ha actualizado para HiDPI (obviamente MS quiere que use una versión más nueva de VS), pero todavía funciona bien con las pantallas HiDPI, ya que simplemente aumenta las cosas dos veces: los tamaños de los iconos y las letras son normales, pero parece de baja resolución.

Después de ver cómo funciona VS, comencé a buscar una forma de lanzar Eclipse en el mismo modo, ya que técnicamente no sería muy difícil escalar cosas como lo hace VS. Pensé que habría una opción que podría configurar para lanzar Eclipse en ese modo. No pude encontrarlo sin embargo.

Después de todo, terminé bajando la resolución de la pantalla a 1/4 (de 2560x1600 a 1280x800) sin aumento (de 200% a 100%) y no aprovechando la pantalla de alta resolución hasta que Eclipse se actualiza para admitirlo, ya que tuve que hacer un poco de trabajo, pero desesperadamente estoy esperando una respuesta a este problema.


La mejor manera es editar el manifiesto exe con algo como sintonizador de recursos y agregar

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

después de la dependencia para configurar el exe como dpi inconsciente. De esta forma, el programa estará un poco pixelado pero tendrá un tamaño confortable.



La solución anterior de Jae funcionó para mí. La solución manifiesta no funcionó para mí. Gracias Jae.

Configuración: en mi computadora portátil con Windows 8.1 de 64 bits sin tableta, descargué eclipse de 64 bits con jdk de 64 bits.

  1. Haga clic con el botón derecho del mouse en el escritorio para acceder a la resolución de pantalla y baje la pantalla de resolución de pantalla del nivel 3000 a 2048 x 1152.
  2. Haga clic en Hacer texto y otros elementos en un enlace más grande o más pequeño, y cámbielo a un 150% grande en lugar de a un tamaño extra grande: 250%.
  3. Cerrar sesión y volver a iniciar sesión.
  4. Reinicie Eclipse y los iconos ahora están visibles, aunque sean un poco más pequeños, pero mucho más legibles ahora.

Lo que funcionó para mí al final fue agregar el archivo de manifiesto al javaw.exe como lo dijo Heikki Juntunen en https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66

Las instrucciones sobre cómo editar el registro y crear el archivo de manifiesto escrito por Matthew Cochrane en https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60 y @KItis escribieron las instrucciones here

Puse aquí una copia de esa publicación:

Primero debes agregar esta clave de registro

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

A continuación, un archivo de manifiesto con el mismo nombre que el ejecutable debe estar presente en la misma carpeta que el ejecutable. El archivo se llama eclipse.exe.manifest y se compone 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>


Me estoy ejecutando con Dell XPS 15. En lugar de llenarme de resoluciones y ampliaciones y todo eso, acabo de hacer lo siguiente:

  • Haga clic con el botón derecho en el icono del iniciador
  • Haga clic en "propiedades"
  • Seleccione la pestaña "compatibilidad"
  • Elija "Windows XP (Service Pack 3)" para "Ejecutar este programa en modo compatibilidad para:".

Todo parece funcionar bien y la pantalla se ve bien (aunque un poco borrosa / pixel). La única diferencia que puedo ver es que la barra de título está en el estilo de Windows XP (¡oh no!).

Tengo curiosidad por saber si esto funciona para otros y si alguien encuentra algún problema.


Para finalizar pensé que agregaría que este problema está resuelto en Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php (la versión actual para desarrolladores). Los iconos se ven un poco tristes (baja resolución) pero al menos están escalados correctamente en mi pantalla de 4k.


Pensé que una solución sería ejecutar una operación por lotes en el JAR de Eclipse que contiene los íconos y duplicar su tamaño. Después de un poco de retoques, funcionó. Los resultados son bastante buenos: todavía hay algunos íconos "obstinados" que son pequeños pero que se ven bien.

Puse el código en un pequeño proyecto: https://github.com/davidglevy/eclipse-icon-enlarger

El proyecto funciona por:

  1. Iterando sobre cada archivo en el directorio base de eclipse (especificado en la línea de argumento)
  2. Si un archivo es un directorio, cree un nuevo directorio bajo el actual en la carpeta de salida (especificada en la línea del argumento)
  3. Si un archivo es PNG o GIF, doble
  4. Si un archivo es otro tipo copia
  5. Si un archivo es un JAR o ZIP, cree un archivo de destino y procese los contenidos usando un proceso similar: a. Las imágenes se duplicaron b. Otros archivos se copian en ZipOutputStream como están.

El único problema que he encontrado con esta solución es que realmente solo funciona una vez: si necesita descargar complementos, hágalo en la ubicación original y vuelva a aplicar el ícono para aumentar el proceso por lotes.

En Dell XPS, demora unos 5 minutos en ejecutarse.

Feliz por las sugerencias / mejoras, pero esto es solo una solución ad hoc mientras esperamos que el equipo de Eclipse se arregle.


Tuve este problema cuando cambié mi idioma predeterminado de Windows 10 de inglés a italiano, con Eclipse instalado cuando el idioma predeterminado era inglés. Revertir el idioma de Windows a Eng y reiniciar resuelve el problema. No sé lo que sucedió, Windows cambió el nombre de algunas carpetas como C: / Users traduciéndolo en su idioma predeterminado (es decir, C: / Utenti) y tal vez esto está causando problemas.


La siguiente solución funcionó para mí

Primero debes agregar esta clave de registro

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

A continuación, un archivo de manifiesto con el mismo nombre que el ejecutable debe estar presente en la misma carpeta que el ejecutable. El archivo se llama eclipse.exe.manifest y se compone 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>

puedes encontrar más detalles aquí


Si no quieres instalar una versión más nueva de eclipse

Como se menciona swt-autoscale-tweaks , en el archivo eclipse.init , agregue -Dswt.autoScale=exact después de -vmargs y está listo para continuar.

Aquí, exact escala los íconos al zoom nativo. Pero tendrá que ajustarse con los iconos borrosos y dentados.