Các biểu tượng giao diện Eclipse rất nhỏ trên màn hình độ phân giải cao trong Windows 8.1


100

Các biểu tượng và nút khác nhau trong giao diện Eclipse (Kepler) rất rất nhỏ trên máy tính xách tay có màn hình 3200x1800px. Trang trí lỗi màu đỏ xuất hiện để chỉ ra lỗi trên các tệp rất khó nhìn thấy trừ khi mũi tôi cách màn hình vài cm.

Tôi đã thử điều chỉnh độ phân giải màn hình và các cài đặt khác trong hệ điều hành (Windows 8.1), điều này có ích, nhưng kết quả là các ứng dụng khác xuất hiện quá lớn và thậm chí sau đó các biểu tượng Eclipse nhỏ một cách khó chịu. Việc phóng to phông chữ trong tùy chọn Eclipse (cửa sổ> tùy chọn> Phông chữ hộp thoại) không ảnh hưởng đến kích thước biểu tượng.

Có cách nào dễ dàng để buộc các biểu tượng lớn hơn không? Bất kỳ cách giải quyết nào (Tôi đã sử dụng Kính lúp nhưng đó là một giải pháp khá phức tạp)? Tôi có nên mua một chiếc kính lúp và giữ nó bên cạnh con chuột của mình không? Có lẽ ai đó nên làm một con chuột có gắn kính lúp? :)

Cảm ơn.


u có thể thử sử dụng các cửa sổ mà không aero mode..may được mà có thể có thể là điều sẽ thay đổi quan điểm icons..or thay đổi độ phân giải màn hình chỉ dành cho nhật thực ..
Lucky

Tôi nhận thấy rằng khi Eclipse khởi động, màn hình giật gân ban đầu hiển thị được phóng to (chính xác), nhưng sau đó sẽ trở lại độ phân giải bình thường (nhỏ). Điều này vẫn tồn tại trong bàn làm việc. Tôi tự hỏi nếu điều đó xảy ra khi chuyển từ .exethực thi sang JVM và sau đó nó mất một số thông tin mà Windows cần để mở rộng quy mô chính xác?
nilskp

3
Mặc dù có nhiều giải pháp thay thế tốt trong các câu trả lời này, có một báo cáo lỗi chính thức về Eclipse ( bug.eclipse.org/bugs/show_bug.cgi?id=421383 ). Tôi khuyên bạn nên bỏ phiếu cho lỗi nếu điều này ảnh hưởng đến bạn, để nó được ưu tiên.
LondonAppDev

Tôi tự hỏi nếu có điều gì có thể được thực hiện bằng cách sử dụng CSS tính năng mới trong Eclipse 4. Tôi đã tìm kiếm nhưng tôi tìm CSS thủ đoạn gian trá này là khá phức tạp và chưa tìm được đơn giản .iconlớp nào cho mà chúng tôi có thể thiết lập sizeđể 200%.
Redsandro

Điều này được khắc phục trên phiên bản mới nhất Eclipse Photon
crowne

Câu trả lời:


7

Tôi đã tìm kiếm giải pháp cho vấn đề này trong tháng trước, nhưng tôi vẫn chưa tìm thấy giải pháp lý tưởng. Có vẻ như cần phải có một con đường xung quanh nó, nhưng tôi không thể tìm thấy nó.

Tôi sử dụng máy tính xách tay có màn hình 2560x1600 với cài đặt phóng đại 200% trong Windows 8.1 (điều này làm cho nó trông giống như màn hình 1280x800 nhưng rõ ràng hơn).

Các ứng dụng hỗ trợ chế độ "HiDPI" như vậy trông rất đẹp, nhưng những ứng dụng không hỗ trợ (ví dụ: Eclipse) hiển thị các biểu tượng nhỏ gần như không thể đọc được.

Tôi cũng sử dụng phiên bản Visual Studio lỗi thời. Điều đó chưa được cập nhật cho HiDPI (rõ ràng là MS muốn tôi sử dụng phiên bản VS mới hơn), nhưng nó vẫn hoạt động khá ổn với màn hình HiDPI vì nó chỉ mở rộng mọi thứ lên hai lần - kích thước của các biểu tượng và chữ cái là bình thường nhưng chúng nhìn có độ phân giải thấp hơn.

Sau khi tôi thấy VS hoạt động như thế nào, tôi bắt đầu tìm cách khởi chạy Eclipse ở cùng một chế độ vì sẽ không quá khó về mặt kỹ thuật nếu chỉ mở rộng quy mô như cách VS làm. Tôi nghĩ rằng sẽ có một tùy chọn mà tôi có thể đặt để khởi chạy Eclipse ở chế độ đó. Tôi không thể tìm thấy nó mặc dù.

Rốt cuộc, tôi đã hạ độ phân giải màn hình xuống 1/4 (từ 2560x1600 xuống 1280x800) mà không có độ phóng đại (từ 200% xuống 100%) và không tận dụng màn hình có độ phân giải cao cho đến khi Eclipse được cập nhật để hỗ trợ nó kể từ khi tôi đã phải làm một số công việc, nhưng tôi vô cùng chờ đợi câu trả lời cho vấn đề này.


Cảm ơn, Jae. Tôi cũng đã áp dụng cách tiếp cận của bạn: giảm độ phân giải và độ phóng đại màn hình song song với nhau. Nó không phải là một giải pháp lý tưởng vì nhiều ứng dụng trông đẹp hơn nhiều ở độ phân giải cao hơn. Hy vọng rằng nhiều ứng dụng sẽ sớm tận dụng được các chức năng của HiDPI.
SeeJay719 23/12/13

2
Tôi vừa tìm thấy một chủ đề liên quan đến vấn đề này: bug.eclipse.org/bugs/show_bug.cgi?id=421383
Jae

2
@Jae trong khi lỗi bạn liên kết đã giải quyết được vấn đề cơ bản trong SWT, giao diện người dùng Eclipse vẫn phải áp dụng API mới, xem bug.eclipse.org/382972 (vẫn chưa được giải quyết tại thời điểm viết bài này).
Stephan Herrmann

43

Tôi cũng phải vật lộn với vấn đề này một chút. Tôi nhận thấy rất nhiều bạn đã đăng các nghị quyết thực sự phức tạp nhưng có một cách dễ dàng hơn nhiều để làm điều này! Nó chỉ là một chương trình và bạn không cần phải sửa đổi các tập lệnh hoặc cài đặt các công cụ của bên thứ ba. Vấn đề liên quan đến tỷ lệ DPI cao như đã đề cập ở trên nhưng điều mà tôi nghĩ rằng nhiều bạn còn thiếu là bạn không thể trực tiếp sửa đổi cài đặt tương thích trên chính trình khởi chạy. Trình khởi chạy và nhật thực là hai chương trình khác nhau! Bạn cần duyệt đến Eclipse.exe và ghi đè tùy chọn chia tỷ lệ DPI cao ở đó. Sau khi thiết lập, bạn có thể sử dụng trình khởi chạy như bình thường. Trình khởi chạy sẽ nhấn tệp thực thi, khởi chạy eclipse.exe và vì bạn đặt cài đặt tương thích trên .exe nên trình khởi chạy sẽ chạy bằng các cài đặt đó.

Đây là ảnh chụp màn hình về cách tôi thiết lập cài đặt tương thích của mình.

Cài đặt tương thích Eclipse.exe

Và vâng, các biểu tượng siêu nhỏ trước khi điều chỉnh cài đặt này. Tôi đã thử đặt cài đặt tương thích trên chính trình khởi chạy nhưng rõ ràng là nó không khắc phục được sự cố. Nhưng sau khi thiết lập cài đặt DPI cao ghi đè cho các biểu tượng eclipse.exe bây giờ có kích thước bình thường. Hãy cho tôi biết nếu điều này làm việc cho những người khác!


Điều này rất hay và tôi dự định sử dụng tính năng này trên các ứng dụng khác.
javaPlease 42

Đây là điều tuyệt vời, vấn đề duy nhất là nhật thực đang hiển thị rất nhiều thứ không rõ ràng.
Chagai Friedlander

36

Tôi đã tìm ra rằng một giải pháp sẽ là chạy một hoạt động hàng loạt trên Eclipse JAR chứa các biểu tượng và tăng gấp đôi kích thước của chúng. Sau một hồi mày mò, nó đã hoạt động. Kết quả là khá tốt - vẫn còn một vài biểu tượng "cứng đầu" nhỏ nhưng hầu hết đều trông đẹp.

Eclipse sau khi xử lý trên QHD

Tôi tập hợp mã thành một dự án nhỏ: https://github.com/davidglevy/eclipse-icon-enlarger

Dự án hoạt động bởi:

  1. Lặp lại mọi tệp trong thư mục cơ sở nhật thực (được chỉ định trong dòng đối số)
  2. Nếu tệp là một thư mục, hãy tạo một thư mục mới dưới thư mục hiện tại trong thư mục đầu ra (được chỉ định trong dòng đối số)
  3. Nếu một tệp là PNG hoặc GIF, hãy nhân đôi
  4. Nếu một tệp là một loại bản sao khác
  5. Nếu tệp là JAR hoặc ZIP, hãy tạo tệp đích và xử lý nội dung bằng quy trình tương tự: a. Hình ảnh được nhân đôi b. Các tệp khác được sao chép vào ZipOutputStream như hiện tại.

Vấn đề duy nhất mà tôi tìm thấy với giải pháp này là nó thực sự chỉ hoạt động một lần - nếu bạn cần tải xuống các plugin thì hãy làm như vậy ở vị trí ban đầu và áp dụng lại quy trình hàng loạt tăng biểu tượng.

Trên Dell XPS, mất khoảng 5 phút để chạy.

Rất vui vì các đề xuất / cải tiến nhưng đây thực sự chỉ là một giải pháp adhoc trong khi chúng tôi đợi nhóm Eclipse khắc phục.


1
Ai đó có thể xây dựng nó, làm ơn (để sử dụng với Eclipse C / C ++)?
Dvor_nik

2
Bạn có thể giải thích một chút về cách chạy điều này trong Eclipse không? Khi nhập tệp này dưới dạng dự án java, tôi gặp 58 lỗi. Tôi không biết gì về Java. Tốt hơn là thêm vào README.md. :)
Redsandro

bạn có thể chạy nó bằng cách chạy -> Ứng dụng Java và sau đó thêm hai đối số -b PATH_TO_YOUR_ECLIPSE_DIR -o PATH_TO_EMPTY_OUTPUT_DIR
Manuel Manhart

Nó ném ra một Ngoại lệ ArrayOutOfBounds sau một thời gian, nhưng nếu bạn sao chép tất cả các tệp bị thiếu từ thư mục nhật thực của mình (không ghi đè) vào thư mục đầu ra, nó sẽ bắt đầu và các biểu tượng lớn hơn.
Manuel Manhart

17

Để hoàn thành, tôi nghĩ rằng tôi muốn nói thêm rằng vấn đề này đã được giải quyết trong Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php (phiên bản dành cho nhà phát triển hiện tại). Các biểu tượng trông hơi buồn (độ phân giải thấp) nhưng ít nhất chúng được chia tỷ lệ chính xác trên màn hình 4k của tôi.


4
Đây là trang "có gì mới" cho Neon ... và bạn sẽ không bao giờ đoán được trang nào ở đầu danh sách: eclipse.org/eclipse/news/4.6/platform.php
HDave

6
Đối với những người, như tôi, những người nhận thấy rằng ngay cả trên Eclipse mới, nó không được chia tỷ lệ, hãy xem tại đây: swt-autoscale-tweaks Về cơ bản, tôi đã thêm vào tệp -Dswt.autoScale=quartercủa mình eclipse.ini.
CrazyPenguin

17

Gặp vấn đề tương tự, để giải quyết nó, hãy tạo lối tắt của trình khởi chạy, nhấp chuột phải> thuộc tính> khả năng tương thích> đánh dấu vào 'Ghi đè hành vi chia tỷ lệ DPI cao' và chọn Hệ thống nâng cao từ trình đơn thả xuống như được hiển thị trên hình bên dưới. Khởi chạy lại nhật thực sau khi thay đổi.

nhập mô tả hình ảnh ở đây


1
Đây là giải pháp đơn giản duy nhất phù hợp với tôi trên Windows 10 với Eclipse Photon
Kapil

tôi đã có các tab của tôi bắt đầu nhấp nháy và disspearing sau khi làm điều này vì vậy tôi đã phải quay trở lại và bây giờ tôi vẫn có các biểu tượng nhỏ :(
gtx

11

Tôi đang chạy trên Dell XPS 15. Thay vì nhồi nhét xung quanh với độ phân giải và độ phóng đại và tất cả những điều đó, tôi chỉ làm như sau:

  • Nhấp chuột phải vào biểu tượng trình khởi chạy
  • Nhấp vào "thuộc tính"
  • Chọn tab "khả năng tương thích"
  • Chọn "Windows XP (Gói Dịch vụ 3)" cho "Chạy chương trình này ở chế độ tương thích cho:".

Mọi thứ dường như hoạt động tốt và màn hình hiển thị tốt (nếu hơi mờ / pixelly). Sự khác biệt duy nhất tôi có thể thấy là thanh tiêu đề theo phong cách Windows XP (oh không !!!).

Tôi tò mò muốn biết liệu điều này có hiệu quả với những người khác không và liệu có ai gặp bất kỳ vấn đề nào không.


4
Đáng buồn thay, không có "Windows XP ..." trong menu thả xuống trong Windows 8.1, phiên bản thấp nhất là Vista (ít nhất là trên hệ thống của tôi, ngăn khởi động)
topherg

@cgoddard Điều đó ... không đúng. Tôi vừa làm theo hướng dẫn của Jamie trên Windows 8.1 và nó hoạt động hoàn hảo.
pdusen

1
@pdusen không chắc điều gì khiến bạn nghĩ vậy, không có tùy chọn nào cho win xp. thời gian gần đây đã thực hiện một cài đặt, và bây giờ thiết lập chế độ tương thích không chỉ dừng lại nó từ tải, nhưng nó vẫn trông giống nhau
topherg

2

1
Các bạn đều đúng. Tùy chọn chỉ tồn tại cho nhật thực 32 bit. Tôi đã thử hướng dẫn với eclipse 64 bit và tôi chỉ thấy khả năng tương thích của vista. Tôi đã thử với 32-bit và tôi thấy phiên bản cài đặt có sẵn với Windows XP và nó HOẠT ĐỘNG! Điều đó thật tuyệt. Cuối cùng, nó đã làm cho Yoga II Pro của tôi trở nên hữu ích để phát triển Java.
Dan Smith

9

Tôi thấy cách dễ nhất là tạo tệp kê khai buộc Windows phải mở rộng ứng dụng. Nó mờ và không lý tưởng nhưng tốt hơn một giao diện người dùng gần như vô hình! Có vẻ như kỹ thuật này cũng có thể áp dụng cho bất kỳ ứng dụng nào.

Tạo tệp eclipse.exe.manifest trong cùng thư mục với eclipse.exe và đặt XML sau vào trong tệp đó:

<?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
Lưu ý: để điều này hoạt động, bạn phải sửa đổi sổ đăng ký. Mở regedit và tạo một khóa HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest(DWORD) có giá trị 1.
ZhekaKozlov

7

Cách tốt nhất là chỉnh sửa tệp kê khai exe bằng thứ gì đó như bộ chỉnh tài nguyên và thêm

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

sau phụ thuộc để đặt exe là dpi không biết. Bằng cách này, chương trình sẽ có một chút pixel nhưng nó sẽ có kích thước có thể thay đổi được.



5

Giải pháp dễ dàng nhất là sử dụng Eclipse Neon. Tất cả các lỗi đã được sửa như một phần của bản phát hành này. https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383


4
Một caveat nhỏ là nó không ngay lập tức khắc phục vấn đề nhưng thêm dòng sau vào các vmargs file eclipse.ini tôi đã làm: -Dswt.autoScale = 200
William Dutton

Tôi đã có thêm cả -Dswt.autoScale = 200 tắt hỗ trợ GTK3 ( env SWT_GTK3=0 eclipse)
Paul Hicks

Tôi đã bao gồm -Dswt.autoScale=200và kích thước biểu tượng tăng lên nhưng làm mất chất lượng độ phân giải hoàn toàn. Vì vậy, tôi đã hoàn nguyên thay đổi đó trong eclipse.initệp. Nhưng ngay cả sau khi gỡ bỏ -Dswt.autoScale=200entry, các biểu tượng vẫn xuất hiện lớn trong photon nhật thực của tôi
mannedear

"Tất cả các lỗi đã được sửa ..." có vẻ như hơi quá lời đối với tôi.
iX3

3

-SurfacePro3-

  • Tải xuống và giải nén eclipse "Phiên bản 32bit".
  • Chạy trên "chế độ Windows XP".

3

Chế độ tương thích cho Windows Xp, nó chỉ có sẵn cho phiên bản Eclipse 32 bit và sau khi chạy ở chế độ tương thích này, các biểu tượng và văn bản sẽ có kích thước phù hợp, nhưng bị mờ vì chúng được chia tỷ lệ từ độ phân giải gốc sang độ phân giải màn hình và làm như vậy chất lượng bị mất.


3

Tôi đã sửa giải pháp của @ Sigh bằng cách tạo shellcript ( .sh) ( ) của Linux để thực hiện điều gì đó tương tự. Điều này rất thô thiển, tàn bạo và yêu cầu áp dụng cho hệ thống cụ thể của bạn. Sử dụng có nguy cơ của riêng bạn. Nó có thể phá vỡ toàn bộ cài đặt của bạn. Sao lưu các thư mục trước khi bạn chạy tập lệnh này. Tập lệnh có thể được cải thiện.

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

Chạy điều này trong /opt/eclipse/plugins~/.eclipse/org.eclipse.platform_4.x.x/plugins(hoặc bất kỳ đường dẫn nào để cài đặt của bạn). Các vấn đề tương tự như với giải pháp của @ Sigh: Đây là một "bản sửa lỗi" tàn bạo và bị hỏng sau mỗi bản cập nhật hoặc cài đặt mới.

Tập lệnh có thể được hoàn thiện:

  • Bỏ qua các tệp .jar không có / biểu tượng / thư mục
  • Chỉ thay đổi kích thước hình ảnh 16x16 để bạn có thể chạy lại sau mỗi lần cập nhật / cài đặt

Yêu cầu imagemagick.


Cảnh báo

  • Nó không hoạt động trên tất cả các biểu tượng.
    • Có ai biết các nội dung khác ở đâu hoặc tại sao chúng không được thay đổi kích thước không? Có lẽ họ không .gif?
  • Các biểu tượng của Project Explorer bị lộn xộn.

Bản sửa lỗi được hoan nghênh!


2
Tôi đã tạo một phiên bản sửa đổi của mã @ Redsandro mà bạn có thể thấy trong ý chính này , giúp đơn giản hóa một số quá trình duyệt thư mục, đơn giản hóa việc xử lý các tệp tạm thời và tìm kiếm hình ảnh có kích thước từ 16 pixel trở xuống.
gene_wood

@gene_wood bạn sử dụng một số lệnh bash thông minh. Tôi vẫn gặp sự cố rằng các biểu tượng lớp phủ (nhỏ <16px) trên các biểu tượng Project Explorer bằng cách nào đó có vẻ rất lớn (trong tập lệnh gốc của tôi và do đó là của bạn), che khuất các biểu tượng tệp thực tế. Có lẽ chúng ta cần bỏ qua hình ảnh lớn hơn hoặc nhỏ hơn 16px. Dù sao, bạn có muốn trả lời câu trả lời của tôi không? : D
Redsandro

Dựa trên tập lệnh @gene_wood trao đổi -name "*.gif"với -name '*.png' -o -name '*.gifvà theo như tôi có thể thấy tất cả các biểu tượng sẽ được phóng to.
Marc Johnen

3

Hãy xem Neon (4.6) M6 - Mới và đáng chú ý , bản phát hành quan trọng có chứa một số tỷ lệ tự động cho hình ảnh (ví dụ: cho thanh công cụ).

SWT cung cấp khả năng tự động điều chỉnh tỷ lệ dựa trên độ phân giải

SWT hiện tự động chia tỷ lệ hình ảnh trên màn hình DPI cao trên Windows và Linux, tương tự như hỗ trợ Retina của Mac trên OS X. Trong trường hợp không có hình ảnh độ phân giải cao, SWT sẽ tự động điều chỉnh tỷ lệ hình ảnh có sẵn để đảm bảo rằng các ứng dụng dựa trên SWT như Eclipse được chia tỷ lệ tương ứng với độ phân giải của màn hình.

nhập mô tả hình ảnh ở đây

Có thể tắt tính năng này trên Windows và GTK bằng cách đặt đối số VM này thành false trong eclipse.ini hoặc trên dòng lệnh sau -vmargs:

-Dswt.enable.autoScale = false

Không thể tắt tính năng tự động điều chỉnh tỷ lệ trên Mac vì nó được cung cấp bởi Hệ điều hành.

Lưu ý: Chúng tôi biết rằng một số hình ảnh được chia tỷ lệ trông xấu ở các hệ số tỷ lệ nhỏ hơn 200%. Điều này sẽ được cải thiện trong M7. Hơn nữa, chúng tôi đang nỗ lực hỗ trợ hình ảnh DPI cao trong Giao diện người dùng nền tảng, để các nhà cung cấp plugin có thể thêm các biểu tượng DPI cao mà không cần thực hiện bất kỳ thay đổi mã nào.



Hoặc có thể điều này giúp ích, trong Eclipse Mars API cho độ phân giải cao đã được thêm vào

Các API mới đã được thêm vào để hỗ trợ hiển thị hình ảnh có độ phân giải cao trên màn hình DPI cao. Hai hàm tạo đã được thêm vào lớp Image. Họ chấp nhận lệnh gọi lại của nhà cung cấp hình ảnh cho phép khách hàng cung cấp các phiên bản hình ảnh phụ thuộc vào độ phân giải:

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

Tùy thuộc vào cấu hình màn hình của người dùng, SWT sẽ yêu cầu hình ảnh với mức thu phóng tương ứng. Dưới đây là một ví dụ hiển thị 3 hình ảnh gốc, tiếp theo là các biến thể có độ phân giải thay đổi tùy theo độ phân giải màn hình của bạn: Snippet367.java .

Lưu ý rằng đây chỉ là bước đầu tiên để hỗ trợ hình ảnh độ phân giải cao trong các ứng dụng dựa trên SWT và Eclipse. Công việc đang được tiến hành để áp dụng các API mới trong nền tảng. Ngoài ra, cần nhiều công việc hơn trong SWT để hỗ trợ tốt việc vẽ thành hình ảnh có độ phân giải cao thông qua GC.

API hỗ trợ màn hình DPI cao
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html


Tôi vừa mới cài đặt Neon M7, và thay đổi giá trị autoscale không ảnh hưởng đến kích thước biểu tượng .. ehh -vmargs -Dswt.autoScale = 300
Kirill Yunussov

2

Giải pháp sau phù hợp với tôi

Trước tiên, bạn cần thêm khóa đăng ký này

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

Tiếp theo, tệp kê khai có cùng tên với tệp thực thi phải có trong cùng thư mục với tệp thực thi. Tệp được đặt tên là eclipse.exe.manifest và bao gồm:

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

bạn có thể tìm thấy thông tin chi tiết ở đâ


2
Cuối cùng, điều làm việc với tôi là thêm tệp kê khai vào javaw.exe giống như https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 say
elysch

1
Cảm ơn bạn, elysch. Làm cho eclipse.exe.manifest hoạt động cho Eclipse Mars.1, nhưng không cho Mars.2. Làm cho javaw.exe.manifest hoạt động!
rakensi

2

Thay đổi dưới đây hoạt động liền mạch.

Trích dẫn từ câu trả lời của CrazyPenguin

"Đối với những người, như tôi, người nhận thấy rằng ngay cả trên Eclipse mới, nó vẫn không được chia tỷ lệ, hãy xem tại đây: swt-autoscale-tweaks Về cơ bản, tôi đã thêm -Dswt.autoScale = quý vào tệp eclipse.ini của mình."


2

Tôi đã tìm thấy một tham chiếu đề xuất thêm phần sau vào eclipse.ini

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

Điều này đã tăng gấp đôi kích thước của các biểu tượng đối với tôi trên Windows 10. Tôi đang sử dụng Phiên bản Eclipse: 2020-03 (4.15.0)


1

Cảm ơn bạn Sigh David Levy. Tôi không thể phát triển trên Eclipse nếu bạn không muốn. Tôi đã phải thêm một lệnh bắt Coupla (ngoại lệ) vào mã của bạn để nó hoạt động:

            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
Bạn có nó để làm việc! Bạn có thể biên dịch một tệp nhị phân hoặc giải thích cách chạy tệp này không? Cũng xem bình luận github .
Redsandro


1

Cuối cùng, điều làm việc với tôi là thêm tệp kê khai vào javaw.exe giống như Heikki Juntunen đã nói tại https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66

Hướng dẫn về cách chỉnh sửa sổ đăng ký và tạo tệp kê khai do Matthew Cochrane viết tại https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60 và @KItis đã viết hướng dẫn ở đây

Tôi đặt ở đây một bản sao của bài đăng đó:


Trước tiên, bạn cần thêm khóa đăng ký này

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

Tiếp theo, tệp kê khai có cùng tên với tệp thực thi phải có trong cùng thư mục với tệp thực thi. Tệp được đặt tên là eclipse.exe.manifest và bao gồm:

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

Đây là giải pháp của tôi Lấy cảm hứng từ giải pháp của @ Sigh (giải pháp này không sử dụng maven):

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

Điều này hoạt động bằng cách tìm kiếm tất cả các hình ảnh nhỏ hơn hoặc bằng 16x16px và mở rộng chúng theo bất kỳ yếu tố nào người dùng muốn.

chạy tiện ích: java images.EclipseIconEnlarger eclipseBasePath phóng đại

ví dụ: java images.EclipseIconEnlarger C: \ Users \ Amrit \ Codes \ eclipse 2

eclipseBasePath = đường dẫn nơi đặt eclipse.exe, ví dụ: C: \ Users \ Amrit \ Codes \ eclipse phóng đại yếu tố = hệ số mà hình ảnh sẽ được phóng to, ví dụ: 2 = double


Vui lòng thêm ít nhất một bản tóm tắt về giải pháp của bạn trong câu trả lời của bạn. Liên kết duy nhất câu trả lời được coi là xấu thực hành stackoverflow.com/help/how-to-answer
Manos Nikolaidis

Cảm ơn. Hoạt động hoàn hảo và thay đổi các biểu tượng tại chỗ. Chỉ cần chạy một lần và tất cả các biểu tượng vẫn lớn.
Milo van der Zee

0

Đây là một giải pháp dòng lệnh khác, nhưng giải pháp này hoạt động cho Windows.

Nó yêu cầu cài đặt winrar (chỉnh sửa dòng đặt winrar để trỏ đến cài đặt winrar).

Nó cũng yêu cầu imagemagick được cài đặt và đường dẫn của nó được thêm vào dòng lệnh của bạn.

Một nhận xét cuối cùng là tôi khuyên bạn nên chạy nó trước khi mở Eclipse lần đầu tiên (tức là cài đặt mới). Có những biểu tượng được tự động giải nén từ các lọ và được lưu trong eclipse / configuration / org.eclips.osgi / ... (có thể nằm trong số các thư mục khác) và việc chỉnh sửa tệp .jar sẽ ngăn biểu tượng bị thay đổi kích thước. Bạn có thể xóa thư mục này và nó có thể tự động rút ngắn lại, nhưng tôi không thể xác nhận.

Để chạy, chỉ cần tạo tệp Doubler.bat trong thư mục eclipse / plugins của bạn và nó sẽ thay đổi kích thước bất kỳ biểu tượng nào nhỏ hơn 32x32 thành kích thước tương ứng đó.

Đây là mã:

@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

Nó tạo ra một tệp output.txt và chèn tất cả siêu dữ liệu hình ảnh GỐC trước khi nó được chuyển đổi, bất kể nó có thay đổi kích thước hay không.


0

Nếu bạn không muốn cài đặt phiên bản mới hơn của eclipse

Như đã đề cập ở đây , trong tệp eclipse.init, hãy thêm -Dswt.autoScale=exactvào sau dấu -vmargsvà bạn đã sẵn sàng.

Ở đây chia exacttỷ lệ các biểu tượng thành thu phóng gốc. Nhưng bạn sẽ phải điều chỉnh với các biểu tượng bị mờ và lởm chởm.


0

Tôi đã gặp sự cố này khi thay đổi ngôn ngữ Windows 10 mặc định của mình từ tiếng Anh sang tiếng Ý, với Eclipse được cài đặt khi ngôn ngữ mặc định là tiếng Anh. Hoàn nguyên ngôn ngữ Windows sang Eng và khởi động lại đã giải quyết được sự cố. Tôi không biết chuyện gì đã xảy ra, Windows đổi tên một số thư mục như C: \ Users dịch nó bằng ngôn ngữ mặc định của bạn (tức là C: \ Utenti) và có thể điều này đang gây ra sự cố.


-1

Giải pháp trên của Jae đã làm việc cho tôi. Giải pháp tệp kê khai không hoạt động với tôi. Cảm ơn Jae.

Thiết lập: Trên máy tính xách tay Windows 8.1 64 bit không phải máy tính bảng, tôi đã tải xuống eclipse 64 bit với jdk 64 bit.

  1. Nhấp chuột phải vào màn hình để truy cập độ phân giải màn hình và giảm độ phân giải màn hình hiển thị từ mức 3000 xuống 2048 x 1152.
  2. Nhấp vào liên kết làm cho văn bản và các mục khác lớn hơn hoặc nhỏ hơn và thay đổi nó thành lớn 150% thay vì cực lớn - 250%.
  3. Đăng xuất và Đăng nhập lại.
  4. Khởi động lại Eclipse và các biểu tượng hiện có thể nhìn thấy ngay cả khi nó nhỏ hơn một chút, nhưng bây giờ dễ đọc hơn nhiều.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.