Bardzo małe ikony interfejsu Eclipse na ekranie o wysokiej rozdzielczości w systemie Windows 8.1

100

Różne ikony i przyciski w interfejsie Eclipse (Kepler) są bardzo, bardzo małe na laptopie z ekranem 3200x1800px. Czerwona dekoracja błędu, która wydaje się wskazywać na błędy w plikach, jest trudna do zobaczenia, chyba że mój nos znajduje się kilka cm od ekranu.

Bawiłem się dostosowywaniem rozdzielczości ekranu i innych ustawień w systemie operacyjnym (Windows 8.1), co pomaga, ale powoduje, że inne aplikacje wydają się zbyt duże, a nawet wtedy ikony Eclipse są niewygodnie małe. Powiększenie czcionek w preferencjach Eclipse (okno> preferencje> Czcionka okna dialogowego) nie wpływa na rozmiar ikony.

Czy jest jakiś łatwy sposób na wymuszenie większych ikon? Jakieś obejście (użyłem Lupy, ale to raczej niezgrabne rozwiązanie)? Czy powinienem po prostu kupić lupę i trzymać ją obok myszy? Może ktoś powinien zrobić myszkę z wbudowaną lupą? :)

Dzięki.

ZobaczJay719
źródło
czy możesz spróbować używać okien bez trybu aerodynamicznego… może być tak, że prawdopodobnie zmieni się ikony widoku… lub zmieni rozdzielczość ekranu tylko dla zaćmienia…
Lucky
Zauważyłem, że po uruchomieniu Eclipse ekran powitalny jest początkowo powiększany (poprawnie), ale w pewnym momencie wraca do normalnej rozdzielczości (małej). To utrzymuje się w warsztacie. Zastanawiam się, czy dzieje się tak podczas przełączania się z .exewykonania na JVM, a następnie traci pewne informacje, których system Windows potrzebuje do prawidłowego skalowania?
nilskp
3
Chociaż w tych odpowiedziach znajduje się wiele dobrych rozwiązań obejścia tego problemu, istnieje oficjalny raport o błędzie dotyczący Eclipse ( bugs.eclipse.org/bugs/show_bug.cgi?id=421383 ). Radzę zagłosować na błąd, jeśli dotyczy ciebie, aby nadać mu priorytet.
LondonAppDev
Zastanawiam się, czy można coś zrobić za pomocą nowych funkcji CSS w Eclipse 4. Szukałem, ale uważam, że ta sztuczka CSS jest dość złożona i nie znalazłem jeszcze prostej .iconklasy, dla której możemy ustawić wartość sizena 200%.
Redsandro
Zostało to naprawione w najnowszej wersji Eclipse Photon
crowne

Odpowiedzi:

7

Szukałem rozwiązań tego problemu w ciągu ostatniego miesiąca, ale nie znalazłem jeszcze idealnego rozwiązania. Wydaje się, że powinien być sposób na obejście tego, ale po prostu nie mogę go znaleźć.

Używam laptopa z ekranem 2560x1600 z ustawieniem powiększenia 200% w Windows 8.1 (co sprawia, że ​​wygląda jak ekran 1280x800, ale jest wyraźniejszy).

Aplikacje obsługujące taki tryb „HiDPI” wyglądają po prostu wspaniale, ale te, które go nie mają (np. Eclipse) wyświetlają małe ikony, które są prawie nieczytelne.

Używam również przestarzałej wersji Visual Studio. To nie zostało zaktualizowane dla HiDPI (oczywiście MS chce, żebym użył nowszej wersji VS), ale nadal działa całkiem dobrze z ekranami HiDPI, ponieważ skaluje to tylko dwukrotnie - rozmiary ikon i liter są normalne, ale one wyglądają w niższej rozdzielczości.

Kiedy zobaczyłem, jak działa VS, zacząłem szukać sposobu na uruchomienie Eclipse w tym samym trybie, ponieważ nie byłoby technicznie bardzo trudne po prostu skalowanie rzeczy, takich jak VS. Pomyślałem, że będzie opcja, którą mógłbym ustawić, aby uruchomić Eclipse w tym trybie. Nie mogłem go jednak znaleźć.

W końcu obniżyłem rozdzielczość ekranu do 1/4 (z 2560x1600 do 1280x800) bez powiększenia (od 200% do 100%) i nie korzystałem z ekranu o wysokiej rozdzielczości, dopóki Eclipse nie zostanie zaktualizowany, aby go obsługiwać, ponieważ ja Musiałem trochę popracować, ale rozpaczliwie czekam na odpowiedź w tej sprawie.

Jae
źródło
Dzięki, Jae. Podjąłem również twoje podejście: zmniejszając rozdzielczość ekranu i powiększenie w tandemie. Nie jest to idealne rozwiązanie, ponieważ wiele aplikacji wygląda znacznie lepiej w wyższej rozdzielczości. Miejmy nadzieję, że wkrótce więcej aplikacji będzie korzystać z funkcji HiDPI.
ZobaczJay719
2
Właśnie znalazłem wątek związany z tą sprawą: bugs.eclipse.org/bugs/show_bug.cgi?id=421383
Jae
2
@Jae Podczas gdy błąd, który podłączyłeś, rozwiązał podstawowy problem w SWT, interfejs Eclipse nadal musi przyjąć nowe API, patrz bugs.eclipse.org/382972 (nadal nierozwiązane w chwili pisania tego tekstu).
Stephan Herrmann
43

Z tym problemem też się trochę zmagałem. Zauważyłem, że wielu z was opublikowało naprawdę skomplikowane rozwiązania, ale jest o wiele łatwiejszy sposób na zrobienie tego! To tylko program i nie powinieneś modyfikować skryptów ani instalować narzędzi innych firm. Problem jest związany ze skalowaniem w wysokiej rozdzielczości, jak wspomniano powyżej, ale myślę, że wielu z was brakuje, to fakt, że nie można bezpośrednio modyfikować ustawień zgodności w samym programie uruchamiającym. Launcher i Eclipse to dwa różne programy! Musisz przejść do Eclipse.exe i zastąpić tam opcję skalowania High DPI. Po ustawieniu możesz normalnie używać programu uruchamiającego. Program uruchamiający uderzy w plik wykonywalny, uruchomi plik eclipse.exe, a ponieważ ustawisz ustawienia zgodności w pliku .exe, będzie on działał z tymi ustawieniami.

Oto zrzut ekranu przedstawiający sposób konfigurowania ustawień zgodności.

Ustawienia zgodności Eclipse.exe

I tak, ikony były bardzo małe przed dostosowaniem tego ustawienia. Próbowałem ustawić ustawienia zgodności w samym programie uruchamiającym, ale to oczywiście nie rozwiązało problemu. Jednak po ustawieniu zastępowania ustawienia High DPI dla ikon eclipse.exe mają teraz normalny rozmiar. Daj mi znać, jeśli to zadziała w przypadku innych!

Devin C.
źródło
To jest bardzo fajne i planuję użyć tej funkcji w innych aplikacjach.
javaPlease42,
To świetnie, jedyny problem polega na tym, że zaćmienie pokazuje wiele rzeczy nieostre.
Chagai Friedlander
37

Pomyślałem, że jednym z rozwiązań byłoby uruchomienie operacji wsadowej na plikach JAR Eclipse, które zawierają ikony i podwoją ich rozmiar. Po odrobinie majsterkowania zadziałało. Wyniki są całkiem dobre - wciąż jest kilka „upartych” ikon, które są małe, ale większość wygląda dobrze.

Eclipse po przetworzeniu w QHD

Złożyłem kod w mały projekt: https://github.com/davidglevy/eclipse-icon-enlarger

Projekt działa przez:

  1. Iterowanie po każdym pliku w katalogu podstawowym eclipse (określonym w linii argumentów)
  2. Jeśli plik jest katalogiem, utwórz nowy katalog pod obecnym w folderze wyjściowym (określonym w linii argumentów)
  3. Jeśli plik jest w formacie PNG lub GIF, double
  4. Jeśli plik jest innego typu, należy go skopiować
  5. Jeśli plik jest plikiem JAR lub ZIP, utwórz plik docelowy i przetwórz jego zawartość w podobny sposób: a. Obrazy są podwojone b. Inne pliki są kopiowane do ZipOutputStream bez zmian.

Jedynym problemem, jaki znalazłem w tym rozwiązaniu, jest to, że naprawdę działa tylko raz - jeśli chcesz pobrać wtyczki, zrób to w oryginalnej lokalizacji i ponownie zastosuj proces wsadowy zwiększania ikony.

W Dell XPS uruchomienie trwa około 5 minut.

Cieszymy się z sugestii / ulepszeń, ale jest to tak naprawdę rozwiązanie doraźne, podczas gdy czekamy, aż zespół Eclipse uzyska poprawkę.

David Levy
źródło
1
Czy ktoś mógłby go zbudować (do użytku z Eclipse C / C ++)?
Dvor_nik
2
Czy mógłbyś nieco wyjaśnić, jak uruchomić to w Eclipse? Podczas importowania tego jako projektu Java otrzymuję 58 błędów. Nic nie wiem o Javie. Najlepiej dodać do README.md. :)
Redsandro
możesz go uruchomić, uruchamiając jako -> Aplikacja Java, a następnie dodaj dwa argumenty -b PATH_TO_YOUR_ECLIPSE_DIR -o
PATH_TO_EMPTY_OUTPUT_DIR
Po chwili wyrzucił wyjątek ArrayOutOfBounds, ale jeśli skopiujesz wszystkie brakujące pliki z folderu eclipse (bez nadpisywania) do folderu wyjściowego, który się uruchomi, a ikony są większe.
Manuel Manhart
18

Miał ten sam problem, aby go rozwiązać, utwórz skrót do programu uruchamiającego, kliknij prawym przyciskiem myszy> właściwości> kompatybilność> zaznacz opcję `` Zastąp zachowanie skalowania wysokiego DPI '' i wybierz Ulepszony system z menu rozwijanego, jak pokazano na poniższym obrazku. Ponownie uruchom zaćmienie po zmianach.

wprowadź opis obrazu tutaj

Vergil C.
źródło
1
To jedyne proste rozwiązanie, które działało dla mnie na Windows 10 z Eclipse Photon
Kapil
Moje zakładki zaczęły migotać i znikać po zrobieniu tego, więc musiałem wrócić i teraz nadal mam małe ikony :(
gtx
17

Na zakończenie pomyślałem, że dodam, że ten problem został rozwiązany w Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php (aktualna wersja deweloperska). Ikony wyglądają trochę smutno (niska rozdzielczość), ale przynajmniej są poprawnie przeskalowane na moim ekranie 4k.

Michael Medin
źródło
4
Oto strona „Co nowego” dla Neon ... i nigdy nie zgadniesz, co jest na szczycie listy: eclipse.org/eclipse/news/4.6/platform.php
HDave
6
Dla takich jak ja, którzy stwierdzili, że nawet na nowym Eclipse nie było skalowane, zobacz tutaj: swt-autoscale-tweaks W zasadzie dodałem -Dswt.autoScale=quarterdo mojego eclipse.inipliku.
CrazyPenguin
11

Używam komputera Dell XPS 15. Zamiast wypychać się rozdzielczościami, powiększeniami i tym wszystkim, wykonałem tylko następujące czynności:

  • Kliknij prawym przyciskiem myszy ikonę programu uruchamiającego
  • Kliknij „właściwości”
  • Wybierz kartę „Zgodność”
  • Wybierz opcję „Windows XP (Service Pack 3)” w polu „Uruchom ten program w trybie zgodności z:”.

Wszystko wydaje się działać dobrze, a wyświetlacz wygląda dobrze (choć trochę rozmyty / pikselowy). Jedyną różnicą, jaką widzę, jest to, że pasek tytułu jest w stylu Windows XP (o nie!).

Jestem ciekawy, czy to działa dla innych i czy ktoś napotka jakieś problemy.

Jamie Carl
źródło
4
Niestety na liście rozwijanej w systemie Windows 8.1 nie ma napisu „Windows XP ...”, najniższa wersja to Vista (która przynajmniej w moim systemie uniemożliwia uruchomienie)
topherg
@cgoddard To ... nieprawda. Po prostu postępowałem zgodnie z instrukcjami Jamiego w systemie Windows 8.1 i działało idealnie.
pdusen
1
@pdusen nie jestem pewien, co sprawia, że ​​myślisz, że nie ma opcji na wygraną xp. niedawno wykonałem czystą instalację, a teraz ustawienie trybu zgodności nie zatrzymuje ładowania, ale nadal wygląda tak samo
topherg
2
@pdusen dość fair, jednak: networksteve.com/windows/topic.php/… & tinypic.com/r/6nz8e1/8
topherg
1
Oboje macie rację. Ta opcja istnieje tylko w przypadku zaćmienia 32-bitowego. Próbowałem wykonać instrukcje z 64-bitowym zaćmieniem i widzę tylko zgodność z Vista. Próbowałem z wersją 32-bitową i zobaczyłem wersję dostępnych ustawień w systemie Windows XP i DZIAŁA! To jest świetne. W końcu moja Yoga II Pro stała się przydatna do tworzenia języka Java.
Dan Smith
9

Odkryłem, że najłatwiejszym sposobem jest utworzenie pliku manifestu, który zmusza system Windows do skalowania aplikacji. Jest rozmyty i nieidealny, ale lepszy niż prawie niewidoczny interfejs użytkownika! Wygląda na to, że ta technika ma również zastosowanie w każdej aplikacji.

Utwórz plik eclipse.exe.manifest w tym samym folderze co eclipse.exe i umieść w nim następujący kod 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>
Brendan Annable
źródło
4
Uwaga: aby to zadziałało, musisz zmodyfikować rejestr. Otwórz regedit i utwórz klucz HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest(DWORD) o wartości 1.
ZhekaKozlov
7

Najlepszym sposobem jest edycja manifestu exe za pomocą czegoś takiego jak tuner zasobów i dodanie

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

po zależności ustawić exe jako nieświadomy dpi. W ten sposób program będzie trochę pikselowany, ale będzie miał wygodny rozmiar.

Yucelen Gul
źródło
5

Najlepszym rozwiązaniem bez wysiłku jest Eclipse Neon. Wszystkie błędy są naprawiane w ramach tego wydania. https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383

Shirish Coolkarni
źródło
4
Małe zastrzeżenie polega na tym, że nie rozwiązało to natychmiast problemu, ale dodanie następujących elementów do vmargs mojego pliku eclipse.ini rozwiązało: -Dswt.autoScale = 200
William Dutton
Musiałem dodać oba -Dswt.autoScale = 200 i wyłączyć obsługę GTK3 ( env SWT_GTK3=0 eclipse)
Paul Hicks
Dodałem -Dswt.autoScale=200i rozmiar ikon zwiększył się, ale całkowicie stracił jakość rozdzielczości. Więc cofnąłem tę zmianę w eclipse.inipliku. Ale nawet po usunięciu -Dswt.autoScale=200wpisu ikony nadal pojawiają się duże w moim
fotonie
„Wszystkie błędy zostały naprawione…” wydaje mi się trochę przesadą.
jacobq,
3

-SurfacePro3-

  • Pobierz i rozpakuj „32-bitową wersję” eclipse.
  • Uruchom w „trybie Windows XP”.

źródło
3

Tryb zgodności dla Windows Xp, jest dostępny tylko dla 32-bitowej wersji Eclipse i po uruchomieniu w tym trybie zgodności ikony i tekst będą miały odpowiedni rozmiar, ale będą rozmazane, ponieważ są skalowane z rozdzielczości natywnej do rozdzielczości ekranu. utrata jakości.

Dan Romulus
źródło
3

Naprawiłem rozwiązanie @ Sigha, tworząc (Linux) skrypt powłoki ( .sh), aby zrobić coś podobnego. Jest to bardzo prymitywne, brutalne i wymaga dostosowania do konkretnego systemu. Używaj na własne ryzyko. Może to zepsuć całą instalację. Utwórz kopie zapasowe folderów przed uruchomieniem tego skryptu. Skrypt można ulepszyć.

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

Uruchom to /opt/eclipse/pluginsi~/.eclipse/org.eclipse.platform_4.x.x/plugins (lub jakiejkolwiek innej ścieżce do twojej instalacji). Te same problemy, co w przypadku rozwiązania @ Sigh: jest to brutalna „poprawka” i przerywa pracę po każdej aktualizacji lub nowej instalacji.

Skrypt można udoskonalić:

  • Ignoruj ​​pliki .jar bez folderu / icons /
  • Zmień rozmiar tylko obrazów 16x16, aby można było uruchomić to ponownie po każdej aktualizacji / instalacji

Wymaga imagemagick.


Ostrzeżenia

  • Nie działa na wszystkich ikonach.
    • Czy ktoś wie, gdzie znajdują się inne zasoby lub dlaczego nie zmieniają ich rozmiaru? Może tak nie jest .gif?
  • Ikony eksploratora projektów są pomieszane.

Mile widziane poprawki!

Redsandro
źródło
2
Stworzyłem zmodyfikowaną wersję kodu @ Redsandro, którą możesz zobaczyć w tym streszczeniu, co upraszcza przechodzenie do niektórych katalogów, upraszcza obsługę plików tymczasowych i szuka obrazów o rozmiarze 16 lub mniej pikseli.
gene_wood
@gene_wood używasz sprytnych poleceń bash. Nadal mam problem z tym, że (małe <16px) ikony nakładek na ikonach Eksploratora projektów wydają się w jakiś sposób duże (w moim oryginalnym skrypcie, a tym samym Twoim), przesłaniając rzeczywiste ikony plików. Być może musimy zignorować obrazy większe lub mniejsze niż 16 pikseli. W każdym razie, czy możesz zagłosować za moją odpowiedzią? : D
Redsandro
Na podstawie skryptu @gene_wood wymiana -name "*.gif"z -name '*.png' -o -name '*.gifi, o ile widzę, wszystkie ikony zostaną powiększone.
Marc Johnen
3

Spójrz na Neon (4.6) M6 - nowy i godny uwagi , wydanie z kamieniem milowym zawiera pewne automatyczne skalowanie obrazów (np. Dla paska narzędzi).

SWT zapewnia automatyczne skalowanie oparte na rozdzielczości

SWT teraz automatycznie skaluje obrazy na monitorach o wysokiej rozdzielczości w systemach Windows i Linux, podobnie do obsługi Retina w systemie Mac OS X. W przypadku braku obrazów w wysokiej rozdzielczości SWT automatycznie skaluje dostępne obrazy, aby zapewnić, że aplikacje oparte na SWT, takie jak Eclipse są skalowane proporcjonalnie do rozdzielczości monitora.

wprowadź opis obrazu tutaj

Tę funkcję można wyłączyć w systemie Windows i GTK, ustawiając ten argument maszyny wirtualnej na false w eclipse.ini lub w wierszu poleceń po -vmargs:

-Dswt.enable.autoScale = false

Automatyczne skalowanie nie może zostać wyłączone na komputerze Mac, ponieważ jest dostarczane przez system operacyjny.

Ostrzeżenia: zdajemy sobie sprawę, że niektóre przeskalowane obrazy wyglądają źle przy współczynniku skali poniżej 200%. Zostanie to poprawione w M7. Ponadto pracujemy nad obsługą obrazów o wysokiej rozdzielczości w interfejsie platformy, aby dostawcy wtyczek mogli dodawać ikony o wysokiej rozdzielczości bez wprowadzania jakichkolwiek zmian w kodzie.



A może to pomaga, w Eclipse Mars dodano API dla wysokiej rozdzielczości

Dodano nowe interfejsy API, aby zapewnić obsługę renderowania obrazów w wysokiej rozdzielczości na monitorach o wysokiej rozdzielczości. Do klasy Image dodano dwa konstruktory. Akceptują wywołania zwrotne od dostawców obrazów, które umożliwiają klientom dostarczanie wersji obrazów zależnych od rozdzielczości:

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

W zależności od konfiguracji monitora użytkownika, SWT zażąda obrazów z odpowiednim poziomem powiększenia. Oto przykład, który wyświetla 3 oryginalne obrazy, po których następują warianty, których rozdzielczość zmienia się w zależności od rozdzielczości monitora: Snippet367.java .

Zauważ, że to tylko pierwszy krok do obsługi obrazów o wysokiej rozdzielczości w aplikacjach opartych na SWT i Eclipse. Trwają prace nad przyjęciem nowych interfejsów API na platformie. Co więcej, potrzeba więcej pracy w SWT, aby prawidłowo obsługiwać rysowanie do obrazów o wysokiej rozdzielczości za pomocą GC.

Interfejsy API do obsługi monitorów o wysokiej rozdzielczości DPI
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html

flavio.donze
źródło
Właśnie zainstalowałem Neon M7 i zmiana wartości autoskalowania nie ma wpływu na rozmiar ikony. Ehh -vmargs -Dswt.autoScale = 300
Kirill Yunussov
2

Poniższe rozwiązanie zadziałało dla mnie

Najpierw musisz dodać ten klucz rejestru

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

Następnie plik manifestu o tej samej nazwie co plik wykonywalny musi znajdować się w tym samym folderze co plik wykonywalny. Plik nosi nazwę eclipse.exe.manifest i składa się z:

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

więcej szczegółów znajdziesz tutaj

KItis
źródło
2
Na koniec zadziałało dla mnie dodanie pliku manifestu do javaw.exe, tak jak https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 powiedz
elysch
1
Dziękuję, elysch. Tworzenie eclipse.exe.manifest działało dla Eclipse Mars.1, ale nie dla Marsa.2. Tworzenie javaw.exe.manifest działało!
rakensi
2

Poniższa zmiana działa bezproblemowo.

Cytując CrazyPenguin „s post

„Dla tych, jak ja, którzy odkryli, że nawet w nowym Eclipse nie był on skalowany, zobacz tutaj: swt-autoscale-tweaks Zasadniczo dodałem -Dswt.autoScale = kwartał do mojego pliku eclipse.ini.”

Sujan Reddy A
źródło
2

Znalazłem odniesienie, które sugerowało dodanie następującego pliku do eclipse.ini

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

To dwukrotnie zwiększyło rozmiar ikon w systemie Windows 10. Używam Eclipse Wersja: 2020-03 (4.15.0)

Tim Dowty
źródło
1

Dziękuję, Westchnij David Levy. Nie mogłem rozwijać się na Eclipse bez twojego rozwiązania. Musiałem dodać coupla catch (wyjątki) do twojego kodu, aby działał:

            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
źródło
1
Masz to do pracy! Czy możesz skompilować plik binarny lub wyjaśnić, jak to uruchomić? Zobacz także komentarz na githubie .
Redsandro
1

W JaxEnter jest fajny artykuł na temat pracy nad HiDPI dla Eclipse

Anand
źródło
Artykuł zasadniczo mówi o tym, co opublikował
@Kltis
1

Na końcu zadziałało dla mnie dodanie pliku manifestu do javaw.exe, tak jak powiedział Heikki Juntunen na https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66

Instrukcje dotyczące edytowania rejestru i tworzenia pliku manifestu napisane przez Matthew Cochrane'a pod adresem https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60, a @KItis napisał instrukcje tutaj

Umieściłem tutaj kopię tego postu:


Najpierw musisz dodać ten klucz rejestru

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

Następnie plik manifestu o tej samej nazwie co plik wykonywalny musi znajdować się w tym samym folderze co plik wykonywalny. Plik nosi nazwę eclipse.exe.manifest i składa się z:

<?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
źródło
0

Oto moje rozwiązanie Zainspirowane rozwiązaniem @ Sigha (to nie używa mavena):

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

Działa to poprzez wyszukanie wszystkich obrazów mniejszych lub równych 16x16px i skalowanie ich w górę o dowolny współczynnik.

uruchomienie narzędzia: obrazy java.EclipseIconEnlarger eclipseBasePath magnificaitonfactor

np .: obrazy java.EclipseIconEnlarger C: \ Users \ Amrit \ Codes \ eclipse 2

eclipseBasePath = ścieżka, w której znajduje się plik eclipse.exe, np. C: \ Users \ Amrit \ Codes \ eclipse magnificationfactor = współczynnik, o który należy powiększyć obraz, np. 2 = podwójne

akhadka
źródło
W odpowiedzi dodaj przynajmniej podsumowanie swojego rozwiązania. Odpowiedzi zawierające tylko linki są uważane za złe praktyki stackoverflow.com/help/how-to-answer
Manos Nikolaidis
Dzięki. Działa doskonale i zmienia ikony w miejscu. Po prostu uruchamiaj raz na jakiś czas, a wszystkie ikony pozostaną duże.
Milo van der Zee
0

Oto inne rozwiązanie wiersza poleceń, ale działa to w systemie Windows.

Wymaga zainstalowanego winrar (edytuj wiersz set winrar, aby wskazywał na instalację winrar).

Wymaga również zainstalowania imagemagick i dodania jego ścieżki w linii poleceń.

Ostatnim komentarzem jest to, że zalecam uruchomienie tego przed pierwszym otwarciem Eclipse (tj. Przed nową instalacją). Istnieją ikony, które są automatycznie rozpakowywane z słoików i zapisywane w eclipse / configuration / org.eclips.osgi / ... (potencjalnie między innymi folderami), a edycja pliku .jar zapobiega zmianie rozmiaru ikony. Możesz być w stanie usunąć ten folder i ponownie wyodrębnić go automatycznie, ale nie mogę potwierdzić.

Aby uruchomić, po prostu utwórz plik doubler.bat w katalogu eclipse / plugins, który powinien zmienić rozmiar każdej ikony mniejszej niż 32x32 do odpowiedniego rozmiaru.

Oto kod:

@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

Tworzy plik output.txt i wstawia wszystkie metadane ORYGINALNYCH obrazów przed konwersją, niezależnie od tego, czy zmienił rozmiar, czy nie.

NeuralNoise
źródło
0

Jeśli nie chcesz instalować nowszej wersji eclipse

Jak wspomniano tutaj , w pliku eclipse.init dodaj -Dswt.autoScale=exactpo rozszerzeniu-vmargs i gotowe.

Tutaj exactskaluje ikony do natywnego powiększenia. Ale będziesz musiał dostosować się za pomocą rozmytych i postrzępionych ikon.

HeXMaN
źródło
0

Miałem ten problem, gdy zmieniłem domyślny język systemu Windows 10 z angielskiego na włoski, przy instalacji Eclipse, gdy domyślnym językiem był angielski. Przywrócenie języka Windows na Eng i ponowne uruchomienie rozwiązało problem. Nie wiem, co się stało, Windows zmienia nazwy niektórych folderów, takich jak C: \ Użytkownicy, tłumacząc to na twój domyślny język (tj. C: \ Utenti) i może to powoduje problemy.

carlo.polisini
źródło
-1

Powyższe rozwiązanie Jae zadziałało dla mnie. Manifest nie działał dla mnie. Dzięki, Jae.

Konfiguracja: Na moim laptopie z systemem Windows 8.1 w wersji 64-bitowej bez tabletu pobrałem wersję 64-bitową eclipse z 64-bitowym jdk.

  1. Kliknij prawym przyciskiem myszy na pulpicie, aby uzyskać dostęp do rozdzielczości ekranu i obniżyłem rozdzielczość ekranu z poziomu 3000 do 2048 x 1152.
  2. Kliknij link powiększ lub pomniejsz tekst i inne elementy i zmień go na duży 150% zamiast bardzo dużego - 250%.
  3. Wylogowano i zalogowano ponownie.
  4. Uruchom ponownie Eclipse, a ikony są teraz widoczne, nawet jeśli jest nieco mniejsze, ale teraz znacznie bardziej czytelne.
milkteaeggtart
źródło