ไอคอนอินเทอร์เฟซ Eclipse มีขนาดเล็กมากบนหน้าจอความละเอียดสูงใน Windows 8.1


102

ไอคอนและปุ่มต่างๆในอินเทอร์เฟซ Eclipse (Kepler) มีขนาดเล็กมากบนแล็ปท็อปที่มีหน้าจอ 3200x1800px การตกแต่งข้อผิดพลาดสีแดงที่ดูเหมือนจะบ่งบอกข้อผิดพลาดในไฟล์นั้นยากที่จะมองเห็นเว้นแต่จมูกของฉันจะอยู่ห่างจากหน้าจอไม่กี่ซม

ฉันได้เล่นกับการปรับความละเอียดหน้าจอและการตั้งค่าอื่น ๆ ในระบบปฏิบัติการ (Windows 8.1) ซึ่งช่วยได้ แต่ส่งผลให้แอปพลิเคชั่นอื่น ๆ มีขนาดใหญ่เกินไปและแม้กระทั่งไอคอน Eclipse ก็มีขนาดเล็กจนน่าอึดอัด การขยายแบบอักษรในการกำหนดลักษณะ Eclipse (หน้าต่าง> การกำหนดลักษณะ> แบบอักษรของกล่องโต้ตอบ) ไม่มีผลต่อขนาดไอคอน

มีวิธีง่ายๆในการบังคับไอคอนขนาดใหญ่หรือไม่? วิธีแก้ปัญหาใด ๆ (ฉันใช้แว่นขยาย แต่นั่นเป็นวิธีแก้ปัญหาที่ค่อนข้างยุ่งยาก)? ฉันควรซื้อแว่นขยายและเก็บไว้ข้างๆเมาส์หรือไม่? อาจมีคนทำเมาส์ด้วยแว่นขยายฝัง? :)

ขอบคุณ.


คุณสามารถลองใช้ windows ที่ไม่มีโหมด aero .. เป็นไปได้ไหมว่าสิ่งนั้นจะเปลี่ยนไอคอนมุมมอง .. หรือเปลี่ยนความละเอียดหน้าจอสำหรับคราสเท่านั้น ..
โชคดีที่

ฉันสังเกตเห็นว่าเมื่อ Eclipse เริ่มทำงานหน้าจอเริ่มต้นจะขยายใหญ่ขึ้น (อย่างถูกต้อง) แต่ในบางจุดจะกลับไปเป็นความละเอียดปกติ (เล็ก) สิ่งนี้ยังคงอยู่ในโต๊ะทำงาน ฉันสงสัยว่าจะเกิดขึ้นเมื่อเปลี่ยนจากการ.exeดำเนินการเป็น JVM แล้วสูญเสียข้อมูลบางอย่างที่ Windows ต้องปรับขนาดให้ถูกต้องหรือไม่?
nilskp

3
แม้ว่าจะมีวิธีแก้ปัญหาที่ดีมากมายในคำตอบเหล่านี้ แต่ก็มีรายงานข้อบกพร่องอย่างเป็นทางการเกี่ยวกับ Eclipse ( bugs.eclipse.org/bugs/show_bug.cgi?id=421383 ) ฉันแนะนำให้คุณโหวตข้อบกพร่องหากสิ่งนี้มีผลกับคุณเพื่อจัดลำดับความสำคัญ
LondonAppDev

ฉันสงสัยว่าบางสิ่งบางอย่างที่สามารถทำได้โดยใช้คุณสมบัติใหม่ CSS ใน Eclipse 4. ฉันได้รับการมอง แต่ฉันหากลอุบาย CSS นี้จะค่อนข้างซับซ้อนและไม่ได้พบง่าย.iconชั้น ๆ ที่เราสามารถตั้งค่าการsize 200%
Redsandro

สิ่งนี้ได้รับการแก้ไขใน Eclipse Photon เวอร์ชันล่าสุด
คราวน์

คำตอบ:


6

ฉันได้ค้นหาวิธีแก้ปัญหาสำหรับเดือนที่แล้ว แต่ยังไม่พบวิธีแก้ปัญหาที่ดี ดูเหมือนจะมีทางรอบ ๆ แต่ฉันไม่พบ

ฉันใช้แล็ปท็อปที่มีหน้าจอ 2560x1600 พร้อมการตั้งค่าการขยาย 200% ใน Windows 8.1 (ซึ่งทำให้ดูเหมือนหน้าจอ 1280x800 แต่ชัดเจนกว่า)

แอพพลิเคชั่นที่รองรับโหมด "HiDPI" นั้นดูสวยงาม แต่แอพที่ไม่มี (เช่น Eclipse) จะแสดงไอคอนเล็ก ๆ ที่แทบไม่สามารถอ่านได้

ฉันยังใช้ Visual Studio เวอร์ชันที่ล้าสมัย ที่ยังไม่ได้รับการอัปเดตสำหรับ HiDPI (เห็นได้ชัดว่า MS ต้องการให้ฉันใช้ VS เวอร์ชันที่ใหม่กว่า) แต่ก็ยังใช้งานได้ดีกับหน้าจอ HiDPI เนื่องจากมีการปรับขนาดขึ้นสองเท่า - ขนาดของไอคอนและตัวอักษรเป็นเรื่องปกติ แต่ ดูความละเอียดต่ำกว่า

หลังจากที่ฉันเห็นว่า VS ทำงานอย่างไรฉันก็เริ่มมองหาวิธีเปิด Eclipse ในโหมดเดียวกันเนื่องจากในทางเทคนิคแล้วการปรับขนาดสิ่งต่าง ๆ ให้ใหญ่ขึ้นเหมือนกับที่ VS ทำ ฉันคิดว่าจะมีตัวเลือกที่ฉันสามารถตั้งค่าให้เปิด Eclipse ในโหมดนั้นได้ ฉันหามันไม่เจอ

ท้ายที่สุดฉันก็ลดความละเอียดหน้าจอลงเหลือ 1/4 (จาก 2560x1600 เป็น 1280x800) โดยไม่มีการขยาย (จาก 200% เป็น 100%) และไม่ได้ใช้ประโยชน์จากหน้าจอความละเอียดสูงจนกว่า Eclipse จะได้รับการอัปเดตเพื่อรองรับตั้งแต่ฉัน ต้องทำงานบางอย่าง แต่ฉันก็รอคำตอบสำหรับปัญหานี้อย่างสิ้นหวัง


ขอบคุณ Jae. ฉันได้ใช้แนวทางของคุณเช่นกัน: ลดความละเอียดหน้าจอและการขยายควบคู่กันไป ไม่ใช่ทางออกที่ดีเนื่องจากแอปพลิเคชันจำนวนมากดูดีกว่ามากเมื่อมีความละเอียดสูงกว่า หวังว่าแอปพลิเคชั่นอื่น ๆ จะใช้ประโยชน์จากฟังก์ชั่น HiDPI ได้เร็ว ๆ นี้
SeeJay719

2
ฉันเพิ่งพบกระทู้ที่เกี่ยวข้องกับเรื่องนี้: bugs.eclipse.org/bugs/show_bug.cgi?id=421383
แจ้

2
@Jae ในขณะที่ข้อบกพร่องที่คุณเชื่อมโยงได้แก้ไขปัญหาพื้นฐานใน SWT แล้ว UI ของ Eclipse ยังคงต้องใช้ API ใหม่โปรดดูที่bugs.eclipse.org/382972 (ยังไม่ได้รับการแก้ไขเมื่อเขียนนี้)
Stephan Herrmann

จาก Windows 10 1703 เราสามารถเปิดการปรับขนาดของ GUI ของแอปพลิเคชันได้ตามคำตอบของ Devin
iwis

47

ฉันต่อสู้กับปัญหานี้เล็กน้อยเช่นกัน ฉันสังเกตเห็นพวกคุณหลายคนโพสต์ความละเอียดที่ซับซ้อนมาก แต่มีวิธีที่ง่ายกว่านี้มาก! เป็นเพียงโปรแกรมและคุณไม่ควรต้องแก้ไขสคริปต์หรือติดตั้งเครื่องมือของบุคคลที่สาม ปัญหานี้เกี่ยวข้องกับการปรับขนาด DPI สูงตามที่กล่าวไว้ข้างต้น แต่สิ่งที่ฉันคิดว่าหลายคนขาดหายไปคือคุณไม่สามารถแก้ไขการตั้งค่าความเข้ากันได้โดยตรงบนตัวเรียกใช้งานเอง ตัวเรียกใช้งานและคราสเป็นสองโปรแกรมที่แตกต่างกัน! คุณต้องเรียกดู Eclipse.exe และแทนที่ตัวเลือกการปรับขนาด DPI สูงที่นั่น เมื่อตั้งค่าแล้วคุณสามารถใช้ตัวเรียกใช้งานได้ตามปกติ ตัวเรียกใช้งานจะเข้าสู่ไฟล์ปฏิบัติการเปิด eclipse.exe และเนื่องจากคุณตั้งค่าความเข้ากันได้ใน. exe มันจะทำงานโดยใช้การตั้งค่าเหล่านั้น

นี่คือภาพหน้าจอของการตั้งค่าความเข้ากันได้ของฉัน

การตั้งค่าความเข้ากันได้ของ Eclipse.exe

ใช่ไอคอนมีขนาดเล็กมากก่อนที่จะปรับการตั้งค่านี้ ฉันลองตั้งค่าความเข้ากันได้บนตัวเรียกใช้งานเอง แต่เห็นได้ชัดว่าไม่สามารถแก้ไขปัญหาได้ แต่หลังจากตั้งค่าการลบล้างการตั้งค่า DPI สูงสำหรับไอคอน eclipse.exe เป็นขนาดปกติแล้ว แจ้งให้เราทราบหากสิ่งนี้ใช้ได้กับผู้อื่น!


มันเจ๋งมากและฉันวางแผนที่จะใช้คุณสมบัตินี้กับแอพพลิเคชั่นอื่น ๆ
javaPlease42

นี่เป็นปัญหาเดียวที่ยอดเยี่ยมคือคราสแสดงหลายสิ่งที่ไม่คมชัด
Chagai Friedlander

2
@ChagaiFriedlander การเลือก "System (ขั้นสูง)" แทน "System" ทำให้ข้อความบนหน้าจอโน้ตบุ๊กของฉันคมชัดขึ้น
Iwis

1
จาก Windows 10 1803 ช่องทำเครื่องหมายจะปรากฏขึ้นหลังจากคลิกที่ปุ่ม "เปลี่ยนการตั้งค่า DPI สูง"
Iwis

37

ฉันคิดว่าวิธีแก้ปัญหาหนึ่งคือการรันการดำเนินการแบตช์บน Eclipse JAR ซึ่งมีไอคอนและเพิ่มขนาดเป็นสองเท่า หลังจากการซ่อมแซมเล็กน้อยมันได้ผล ผลลัพธ์ค่อนข้างดี - ยังมีไอคอนที่ "ดื้อ" ซึ่งมีขนาดเล็ก แต่ส่วนใหญ่ดูดี

Eclipse หลังจากประมวลผลบน QHD

ฉันรวบรวมโค้ดไว้ในโปรเจ็กต์เล็ก ๆ : https://github.com/davidglevy/eclipse-icon-enlarger

โครงการนี้ดำเนินการโดย:

  1. การวนซ้ำทุกไฟล์ในไดเร็กทอรีฐาน eclipse (ระบุในอาร์กิวเมนต์บรรทัด)
  2. ถ้าไฟล์เป็นไดเร็กทอรีให้สร้างไดเร็กทอรีใหม่ภายใต้ปัจจุบันในโฟลเดอร์เอาต์พุต (ระบุในบรรทัดอาร์กิวเมนต์)
  3. หากไฟล์เป็น PNG หรือ GIF ให้ทำสองครั้ง
  4. หากไฟล์เป็นสำเนาประเภทอื่น
  5. หากไฟล์เป็น JAR หรือ ZIP ให้สร้างไฟล์เป้าหมายและประมวลผลเนื้อหาโดยใช้กระบวนการที่คล้ายกัน: a. ภาพเพิ่มขึ้นสองเท่า b. ไฟล์อื่น ๆ จะถูกคัดลอกไปยัง ZipOutputStream ตามที่เป็นอยู่

ปัญหาเดียวที่ฉันพบในโซลูชันนี้คือใช้งานได้จริงเพียงครั้งเดียว - หากคุณต้องการดาวน์โหลดปลั๊กอินให้ทำในตำแหน่งเดิมและใช้ไอคอนเพิ่มกระบวนการแบทช์ใหม่

บน Dell XPS จะใช้เวลาประมาณ 5 นาทีในการรัน

ยินดีสำหรับข้อเสนอแนะ / การปรับปรุง แต่นี่เป็นเพียงโซลูชัน adhoc ในขณะที่เรารอให้ทีม Eclipse ทำการแก้ไข


1
มีใครสร้างได้ไหม (สำหรับใช้กับ Eclipse C / C ++)
Dvor_nik

2
คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับวิธีเรียกใช้สิ่งนี้ใน Eclipse ได้หรือไม่? เมื่อนำเข้าสิ่งนี้เป็นโปรเจ็กต์ java ฉันได้รับข้อผิดพลาด 58 ข้อ ฉันไม่รู้อะไรเกี่ยวกับ Java README.mdโดยเฉพาะอย่างยิ่งเพิ่ม :)
Redsandro

คุณสามารถเรียกใช้โดยรันเป็น -> Java Application จากนั้นเพิ่มสองอาร์กิวเมนต์ -b PATH_TO_YOUR_ECLIPSE_DIR -o PATH_TO_EMPTY_OUTPUT_DIR
Manuel Manhart

มันโยนข้อยกเว้น ArrayOutOfBounds หลังจากนั้นสักครู่ แต่ถ้าคุณคัดลอกไฟล์ที่หายไปทั้งหมดจากโฟลเดอร์ eclipse ของคุณ (ไม่มีการเขียนทับ) ลงในโฟลเดอร์เอาต์พุตมันจะเริ่มทำงานและไอคอนจะใหญ่ขึ้น
Manuel Manhart

21

มีปัญหาเดียวกันในการแก้ไขให้สร้างทางลัดของตัวเรียกใช้งานคลิกขวา> คุณสมบัติ> ความเข้ากันได้> ทำเครื่องหมายที่ 'แทนที่พฤติกรรมการปรับขนาด DPI สูง' และเลือกระบบที่ปรับปรุงแล้วจากเมนูแบบเลื่อนลงตามที่แสดงในรูปด้านล่าง เปิดคราสอีกครั้งหลังจากการเปลี่ยนแปลง

ป้อนคำอธิบายภาพที่นี่


1
นี่เป็นวิธีง่ายๆเพียงวิธีเดียวที่ใช้ได้กับฉันใน Windows 10 ที่มี Eclipse Photon
Kapil

ฉันมีแท็บของฉันเริ่มริบหรี่และ disspearing หลังจากการทำเช่นนี้เพื่อให้ฉันได้กลับไปและตอนนี้ฉันยังคงมีไอคอนขนาดเล็ก :(
GTX

จาก Windows 10 1803 ช่องทำเครื่องหมายจะปรากฏขึ้นหลังจากคลิกที่ปุ่ม "เปลี่ยนการตั้งค่า DPI สูง"
iwis

18

เพื่อให้เสร็จสมบูรณ์ฉันคิดว่าฉันจะเพิ่มว่าปัญหานี้ได้รับการแก้ไขแล้วใน Eclipse 4.6 Neon https://www.eclipse.org/downloads/index-developer.php (เวอร์ชันสำหรับนักพัฒนาปัจจุบัน) ไอคอนดูเศร้าเล็กน้อย (ความละเอียดต่ำ) แต่อย่างน้อยก็ปรับขนาดได้อย่างถูกต้องบนหน้าจอ 4k ของฉัน


4
นี่คือหน้า "มีอะไรใหม่" สำหรับ Neon ... และคุณจะไม่มีทางเดาได้เลยว่าอะไรอยู่ด้านบนสุดของรายการ: eclipse.org/eclipse/news/4.6/platform.php
HDave

7
สำหรับผู้ที่พบว่าแม้ใน Eclipse ใหม่จะไม่ได้รับการปรับขนาดโปรดดูที่นี่: swt-autoscale-tweaks โดยทั่วไปฉันเพิ่มลง-Dswt.autoScale=quarterในeclipse.iniไฟล์ของฉัน
CrazyPenguin

11

ฉันใช้ Dell XPS 15 แทนที่จะใช้ความละเอียดและการขยายและทั้งหมดนั้นฉันทำสิ่งต่อไปนี้:

  • คลิกขวาที่ไอคอนตัวเรียกใช้งาน
  • คลิกที่ "คุณสมบัติ"
  • เลือกแท็บ "ความเข้ากันได้"
  • เลือก "Windows XP (Service Pack 3)" สำหรับ "เรียกใช้โปรแกรมนี้ในโหมดความเข้ากันได้สำหรับ:"

ทุกอย่างดูเหมือนจะทำงานได้ดีและจอแสดงผลก็ดูดี (ถ้าเบลอเล็กน้อย / มีภาพเบลอ) ความแตกต่างเพียงอย่างเดียวที่ฉันเห็นคือแถบชื่อเรื่องอยู่ในรูปแบบ Windows XP (โอ้ไม่ !!!)

ฉันอยากรู้ว่าวิธีนี้ใช้ได้ผลกับคนอื่นหรือไม่และมีใครเจอปัญหาอะไรบ้าง


4
น่าเศร้าที่ไม่มี "Windows XP ... " ในเมนูแบบเลื่อนลงใน Windows 8.1 เวอร์ชันต่ำสุดคือ Vista (ซึ่งอย่างน้อยในระบบของฉันก็ป้องกันการเริ่มต้นระบบ)
topherg

@cgoddard นั่น ... ไม่จริง ฉันเพิ่งทำตามคำแนะนำของ Jamie ใน Windows 8.1 และทำงานได้อย่างสมบูรณ์
pdusen

1
@pdusen ไม่แน่ใจว่าอะไรทำให้คุณคิดว่าไม่มีตัวเลือกสำหรับ win xp เพิ่งทำการติดตั้งใหม่ทั้งหมดและตอนนี้การตั้งค่าโหมดความเข้ากันได้ไม่ได้หยุดการโหลด แต่ก็ยังดูเหมือนเดิม
topherg

2
@pdusen พอใช้อย่างไรก็ตาม: networksteve.com/windows/topic.php/… & tinypic.com/r/6nz8e1/8
topherg

1
พวกคุณพูดถูกทั้งคู่ ตัวเลือกนี้มีเฉพาะสำหรับคราส 32 บิตเท่านั้น ฉันลองทำตามคำแนะนำกับ 64-bit eclipse และฉันเห็นเฉพาะความเข้ากันได้ของ vista ฉันลองใช้ 32 บิตและฉันเห็นเวอร์ชันของการตั้งค่าที่พร้อมใช้งานกับ Windows XP และใช้งานได้! นี่มันเยี่ยมมาก ในที่สุดก็ทำให้ Yoga II Pro ของฉันมีประโยชน์สำหรับการพัฒนา Java
Dan Smith

9

ฉันพบวิธีที่ง่ายที่สุดคือสร้างไฟล์รายการซึ่งบังคับให้ Windows ปรับขนาดแอปพลิเคชัน มันเบลอและไม่เหมาะ แต่ดีกว่า UI ที่แทบมองไม่เห็น! ดูเหมือนว่าเทคนิคนี้จะใช้ได้กับทุกแอปพลิเคชันด้วย

สร้างไฟล์eclipse.exe.manifestในโฟลเดอร์เดียวกับ eclipse.exe และวาง 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>

4
หมายเหตุ: เพื่อให้ทำงานได้คุณต้องแก้ไขรีจิสทรี เปิด regedit และสร้างคีย์HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest(DWORD) ด้วยค่า 1
ZhekaKozlov

7

วิธีที่ดีที่สุดคือแก้ไขรายการ exe ด้วยบางอย่างเช่นตัวปรับแต่งทรัพยากรและเพิ่ม

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

หลังจากการพึ่งพาเพื่อตั้งค่า exe เป็น dpi โดยไม่รู้ตัว วิธีนี้โปรแกรมจะมีพิกเซลเล็กน้อย แต่จะมีขนาดที่สะดวกสบาย


สำหรับข้อมูลเพิ่มเติม: danantonielli.com/adobe-app-scaling-on-high-dpi-displays-fix
bugybunny

6

ฉันพบข้อมูลอ้างอิงที่แนะนำให้เพิ่มสิ่งต่อไปนี้ใน eclipse.ini

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

สิ่งนี้เพิ่มขนาดไอคอนเป็นสองเท่าสำหรับฉันใน Windows 10 ฉันใช้ Eclipse Version: 2020-03 (4.15.0)


1
ฉันชอบโซลูชันนี้เพราะมันไม่เบลอ (ซูม) ภาพไอคอน แต่ดูเหมือนว่าจะปรับขนาดใหม่
Paolo

5

ทางออกที่ดีที่สุดคือไปที่ Eclipse Neon ข้อบกพร่องทั้งหมดได้รับการแก้ไขโดยเป็นส่วนหนึ่งของรุ่นนี้ https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383


4
ข้อแม้เล็กน้อยคือมันไม่ได้แก้ไขปัญหาในทันที แต่การเพิ่มสิ่งต่อไปนี้ใน vmargs ของไฟล์ eclipse.ini ของฉันทำ: -Dswt.autoScale = 200
William Dutton

ฉันต้องเพิ่มทั้ง -Dswt.autoScale = 200 และปิดการรองรับ GTK3 ( env SWT_GTK3=0 eclipse)
Paul Hicks

ฉันได้รวม-Dswt.autoScale=200และขนาดไอคอนเพิ่มขึ้น แต่สูญเสียคุณภาพความละเอียดโดยสิ้นเชิง ดังนั้นฉันจึงคืนการเปลี่ยนแปลงนั้นในeclipse.iniไฟล์ แต่ถึงแม้จะลบ-Dswt.autoScale=200รายการออกไปแล้วไอคอนก็ยังคงปรากฏอยู่ในโฟตอนคราสของฉันขนาดใหญ่
mannedear

"จุดบกพร่องทั้งหมดได้รับการแก้ไขแล้ว ... " ดูเหมือนจะเกินเลยสำหรับฉัน
jacobq

3

-SurfacePro3-

  • ดาวน์โหลดและคลายซิปคราส "เวอร์ชัน 32 บิต"
  • ทำงานบน "โหมด Windows XP"

3

โหมดความเข้ากันได้สำหรับ Windows Xp จะใช้ได้เฉพาะกับ Eclipse เวอร์ชัน 32 บิตและหลังจากทำงานในโหมดความเข้ากันได้นี้ไอคอนและข้อความจะมีขนาดที่เหมาะสม แต่เบลอเนื่องจากมีการปรับขนาดจากความละเอียดดั้งเดิมเป็นความละเอียดหน้าจอและการทำเช่นนั้น คุณภาพจะหายไป


3

ฉันแก้ไขโซลูชันของ @ Sigh ด้วยการสร้าง (Linux) shellscript ( .sh) เพื่อทำสิ่งที่คล้ายกัน นี่เป็นเรื่องที่หยาบคายโหดเหี้ยมและต้องการการนำมาใช้สำหรับระบบเฉพาะของคุณ ใช้ด้วยความเสี่ยงของคุณเอง อาจทำให้การติดตั้งทั้งหมดของคุณเสียหาย ทำการสำรองข้อมูลของโฟลเดอร์ก่อนที่คุณจะเรียกใช้สคริปต์นี้ สามารถปรับปรุงสคริปต์ได้

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

เรียกใช้สิ่งนี้ใน/opt/eclipse/pluginsและ~/.eclipse/org.eclipse.platform_4.x.x/plugins (หรือเส้นทางใดก็ตามสำหรับการติดตั้งของคุณ) ปัญหาเดียวกันกับวิธีแก้ปัญหาของ @ Sigh: นี่เป็นการ "แก้ไข" ที่โหดร้ายและหยุดพักหลังจากการอัปเดตหรือการติดตั้งใหม่ทุกครั้ง

สคริปต์สามารถทำให้สมบูรณ์:

  • ละเว้นไฟล์. jar ที่ไม่มี / ไอคอน / โฟลเดอร์
  • ปรับขนาดรูปภาพที่มีขนาด 16x16 เท่านั้นเพื่อให้คุณสามารถรันได้อีกครั้งหลังการอัพเดต / การติดตั้งทุกครั้ง

imagemagickต้องใช้


ข้อควรระวัง

  • ใช้ไม่ได้กับทุกไอคอน
    • มีใครทราบบ้างว่าทรัพย์สินอื่น ๆ อยู่ที่ไหนหรือทำไมจึงไม่ปรับขนาด บางทีพวกเขาอาจจะไม่ใช่.gif?
  • ไอคอน Project Explorer ยุ่งเหยิง

ยินดีต้อนรับการแก้ไข!


2
ฉันได้สร้างโค้ดของ @ Redsandro เวอร์ชันแก้ไขแล้วซึ่งคุณสามารถดูได้ในส่วนสำคัญนี้ซึ่งช่วยลดความซับซ้อนของการส่งผ่านไดเร็กทอรีบางส่วนลดความยุ่งยากในการจัดการกับไฟล์ชั่วคราวและค้นหารูปภาพที่มีขนาด 16 หรือน้อยกว่าพิกเซล
gene_wood

@gene_wood คุณใช้คำสั่งทุบตีที่ชาญฉลาด ฉันยังคงมีปัญหาที่ไอคอนซ้อนทับ (ขนาดเล็ก <16px) บนไอคอน Project Explorer ดูเหมือนใหญ่มาก (ในสคริปต์ดั้งเดิมของฉันและเป็นของคุณ) ทำให้บดบังไอคอนไฟล์จริง บางทีเราอาจต้องละเว้นรูปภาพที่ใหญ่กว่าหรือเล็กกว่า 16px อย่างไรก็ตามโปรดพิจารณาคำตอบของฉันหรือไม่ : D
Redsandro

อ้างอิงจากสคริปต์ @gene_wood แลกเปลี่ยน -name "*.gif"กับ -name '*.png' -o -name '*.gifและเท่าที่ฉันเห็นไอคอนทั้งหมดจะขยายใหญ่ขึ้น
Marc Johnen

3

ดูNeon (4.6) M6 - ใหม่และน่าสนใจการเปิดตัวครั้งสำคัญมีการปรับขนาดอัตโนมัติสำหรับรูปภาพ (เช่นแถบเครื่องมือ)

SWT ให้การปรับขนาดอัตโนมัติตามความละเอียด

ตอนนี้ SWT จะปรับขนาดภาพโดยอัตโนมัติบนจอภาพ DPI สูงบน Windows และ Linux คล้ายกับการรองรับ Retina ของ Mac บน OS X ในกรณีที่ไม่มีภาพความละเอียดสูง SWT จะปรับขนาดภาพที่มีให้โดยอัตโนมัติเพื่อให้แน่ใจว่าแอปพลิเคชันที่ใช้ SWT เช่น Eclipse ถูกปรับสัดส่วนตามความละเอียดของจอภาพ

ป้อนคำอธิบายภาพที่นี่

คุณลักษณะนี้สามารถปิดใช้งานบน Windows และ GTK ได้โดยตั้งค่าอาร์กิวเมนต์ VM นี้เป็นเท็จใน eclipse.ini หรือบนบรรทัดคำสั่งหลัง -vmargs:

-Dswt.enable.autoScale = false

ไม่สามารถปิดใช้งานการปรับขนาดอัตโนมัติบน Mac ได้เนื่องจาก OS มีให้

ข้อควรระวัง: เราทราบดีว่าภาพที่มีการปรับขนาดบางภาพดูไม่ดีที่ปัจจัยขนาดน้อยกว่า 200% สิ่งนี้จะได้รับการปรับปรุงใน M7 นอกจากนี้เรากำลังดำเนินการสนับสนุนอิมเมจ DPI สูงใน Platform UI เพื่อให้ผู้ให้บริการปลั๊กอินสามารถเพิ่มไอคอน DPI สูงโดยไม่ต้องเปลี่ยนแปลงโค้ดใด ๆ



หรืออาจช่วยได้ใน Eclipse Mars API สำหรับความละเอียดสูงถูกเพิ่มเข้ามา

มีการเพิ่ม API ใหม่เพื่อรองรับการแสดงภาพความละเอียดสูงบนจอภาพ DPI สูง เพิ่มตัวสร้างสองตัวในคลาส Image พวกเขายอมรับการเรียกกลับของผู้ให้บริการรูปภาพที่อนุญาตให้ไคลเอ็นต์จัดหารูปภาพเวอร์ชันที่ขึ้นอยู่กับความละเอียด:

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

ขึ้นอยู่กับการกำหนดค่าจอภาพของผู้ใช้ SWT จะร้องขอภาพที่มีระดับการซูมที่สอดคล้องกัน นี่คือตัวอย่างที่แสดงภาพต้นฉบับ 3 ภาพตามด้วยรูปแบบที่ความละเอียดจะเปลี่ยนไปตามความละเอียดของจอภาพของคุณ: Snippet367.java Snippet367.java

โปรดทราบว่านี่เป็นเพียงขั้นตอนแรกในการสนับสนุนภาพความละเอียดสูงในแอปพลิเคชันที่ใช้ SWT และ Eclipse งานอยู่ระหว่างการนำ API ใหม่มาใช้ในแพลตฟอร์ม ยิ่งไปกว่านั้นจำเป็นต้องมีงานเพิ่มเติมใน SWT เพื่อรองรับการวาดเป็นภาพความละเอียดสูงผ่าน GC อย่างเหมาะสม

API สำหรับจอภาพ DPI สูงรองรับ
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2FwhatsNew%2Fplatform_isv_whatsnew.html


ฉันเพิ่งติดตั้ง Neon M7 และการเปลี่ยนค่าการปรับขนาดอัตโนมัติจะไม่มีผลกับขนาดไอคอน .. ehh -vmargs -Dswt.autoScale = 300
Kirill Yunussov

2

วิธีแก้ปัญหาต่อไปนี้ใช้ได้ผลสำหรับฉัน

ก่อนอื่นคุณต้องเพิ่มคีย์รีจิสทรีนี้

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

ถัดไปไฟล์รายการที่มีชื่อเดียวกับไฟล์ปฏิบัติการต้องอยู่ในโฟลเดอร์เดียวกับไฟล์ปฏิบัติการ ไฟล์ชื่อ eclipse.exe.manifest และประกอบด้วย:

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

คุณสามารถดูรายละเอียดเพิ่มเติมได้ที่นี่


2
สิ่งที่ได้ผลสำหรับฉันในตอนท้ายคือการเพิ่มไฟล์ manifest ไปยัง javaw.exe เช่นเดียวกับhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66 พูด
elysch

1
ขอบคุณ elysch การทำให้ eclipse.exe.manifest ใช้ได้กับ Eclipse Mars.1 แต่ไม่ใช่สำหรับ Mars 2 ทำให้ javaw.exe.manifest ทำงานได้!
rakensi

2

การเปลี่ยนแปลงด้านล่างทำงานได้อย่างราบรื่น

อ้างจากคำตอบของCrazyPenguin

"สำหรับผู้ที่พบว่าแม้ใน Eclipse ใหม่จะไม่ได้รับการปรับขนาดโปรดดูที่นี่: swt-autoscale-tweaksโดยทั่วไปฉันเพิ่ม-Dswt.autoScale = ไตรมาสลงในไฟล์ eclipse.ini ของฉัน"


1

ขอบคุณถอนหายใจ David Levy ฉันไม่สามารถพัฒนาบน Eclipse โดยไม่มีตัวตนของคุณ ฉันต้องเพิ่ม coupla catch (ข้อยกเว้น) ลงในโค้ดของคุณเพื่อให้ใช้งานได้:

            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
คุณได้ผล! คุณสามารถรวบรวมไบนารีหรืออธิบายวิธีทำให้สิ่งนี้ทำงานได้หรือไม่? นอกจากนี้ยังเห็นความคิดเห็น GitHub
Redsandro


1

สิ่งที่ได้ผลสำหรับฉันในตอนท้ายคือการเพิ่มไฟล์ manifest ลงใน javaw.exeเช่นเดียวกับที่ Heikki Juntunen กล่าวที่https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c66

คำแนะนำเกี่ยวกับวิธีแก้ไขรีจิสทรีและสร้างไฟล์รายการที่เขียนโดย Matthew Cochrane ที่https://bugs.eclipse.org/bugs/show_bug.cgi?id=421383#c60และ @KItis เขียนคำแนะนำที่นี่

ฉันใส่สำเนาของโพสต์นั้นไว้ที่นี่:


ก่อนอื่นคุณต้องเพิ่มคีย์รีจิสทรีนี้

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

ถัดไปไฟล์รายการที่มีชื่อเดียวกับไฟล์ปฏิบัติการต้องอยู่ในโฟลเดอร์เดียวกับไฟล์ปฏิบัติการ ไฟล์ชื่อ eclipse.exe.manifest และประกอบด้วย:

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

นี่คือวิธีแก้ปัญหาของฉันที่ได้รับแรงบันดาลใจจากโซลูชันของ @ Sigh (อันนี้ไม่ใช้ maven):

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

วิธีนี้ทำงานโดยค้นหาภาพทั้งหมดที่มีขนาดเล็กลงหรือเท่ากับ 16x16px และขยายขนาดตามปัจจัยที่ผู้ใช้ต้องการ

การเรียกใช้ยูทิลิตี้: java images.EclipseIconEnlarger eclipseBasePath gorgeousaitonfactor

เช่น: รูปภาพ java.EclipseIconEnlarger C: \ Users \ Amrit \ Codes \ eclipse 2

eclipseBasePath = พา ธ ที่ eclipse.exe ตั้งอยู่เช่น C: \ Users \ Amrit \ Codes \ eclipse magnificationfactor = ปัจจัยที่ควรขยายภาพเช่น 2 = double


โปรดเพิ่มข้อมูลสรุปของการแก้ปัญหาอย่างน้อยในคำตอบของคุณ ลิงก์เฉพาะคำตอบถือเป็นการปฏิบัติที่ไม่ดีstackoverflow.com/help/how-to-answer
Manos Nikolaidis

ขอบคุณ. ทำงานได้อย่างสมบูรณ์และเปลี่ยนไอคอนในสถานที่ เพียงแค่เรียกใช้ครั้งต่อ ๆ ไปไอคอนทั้งหมดจะมีขนาดใหญ่
Milo van der Zee

0

นี่คือโซลูชันบรรทัดคำสั่งอื่น แต่ใช้ได้กับ Windows

ต้องติดตั้ง winrar (แก้ไขชุด winrar บรรทัดเพื่อชี้ไปที่การติดตั้ง winrar)

นอกจากนี้ยังต้องติดตั้ง imagemagick และเส้นทางที่จะเพิ่มใน commandline ของคุณ

ความคิดเห็นสุดท้ายคือฉันแนะนำให้รันสิ่งนี้ก่อนเปิด Eclipse เป็นครั้งแรก (เช่นการติดตั้งใหม่) มีไอคอนที่ได้รับการคลายแพ็กโดยอัตโนมัติจาก jars และบันทึกไว้ใน eclipse / configuration / org.eclips.osgi / ... (อาจอยู่ในโฟลเดอร์อื่น ๆ ) และการแก้ไขไฟล์. jar จะป้องกันไม่ให้ไอคอนถูกปรับขนาด คุณอาจลบโฟลเดอร์นี้ได้และอาจมีการแยกข้อความอัตโนมัติอีกครั้ง แต่ฉันไม่สามารถยืนยันได้

ในการเรียกใช้เพียงสร้างไฟล์ doubler.bat ในไดเร็กทอรี eclipse / plugins ของคุณและควรปรับขนาดไอคอนใด ๆ ที่มีขนาดเล็กกว่า 32x32 เป็นขนาดตามสัดส่วนนั้น

นี่คือรหัส:

@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

สร้างไฟล์ output.txt และแทรกข้อมูลเมตาของรูปภาพ ORIGINAL ทั้งหมดก่อนที่จะถูกแปลงไม่ว่าจะเปลี่ยนขนาดหรือไม่ก็ตาม


0

หากคุณไม่ต้องการติดตั้ง eclipse เวอร์ชันที่ใหม่กว่า

ดังที่ได้กล่าวไว้ที่นี่ในไฟล์eclipse.init ให้เพิ่ม-Dswt.autoScale=exactหลังจาก-vmargsและคุณพร้อมที่จะไป

ที่นี่จะexactปรับขนาดไอคอนเป็นการซูมดั้งเดิม แต่คุณจะต้องปรับด้วยไอคอนที่เบลอและหยัก


0

ฉันประสบปัญหานี้เมื่อฉันเปลี่ยนภาษา Windows 10 เริ่มต้นจากภาษาอังกฤษเป็นภาษาอิตาลีโดยมีการติดตั้ง Eclipse เมื่อภาษาเริ่มต้นคือภาษาอังกฤษ การเปลี่ยนภาษา Windows เป็นภาษาอังกฤษและการรีบูตช่วยแก้ปัญหาได้ ฉันไม่รู้ว่าเกิดอะไรขึ้น Windows เปลี่ยนชื่อโฟลเดอร์บางโฟลเดอร์เช่น C: \ Users แปลเป็นภาษาเริ่มต้นของคุณ (เช่น C: \ Utenti) และอาจทำให้เกิดปัญหา


-1

วิธีแก้ปัญหาข้างต้นของ Jae ได้ผลสำหรับฉัน โซลูชันรายการไม่ได้ผลสำหรับฉัน ขอบคุณ Jae.

การตั้งค่า: บนแล็ปท็อปที่ไม่ใช่แท็บเล็ต Windows 8.1 64 บิตของฉันฉันดาวน์โหลด eclipse 64 บิตด้วย jdk 64 บิต

  1. คลิกเมาส์ขวาบนเดสก์ท็อปเพื่อเข้าถึงความละเอียดหน้าจอและลดการแสดงความละเอียดหน้าจอจากระดับ 3000 เป็น 2048 x 1152
  2. คลิกที่สร้างข้อความและลิงก์อื่น ๆ ให้ใหญ่ขึ้นหรือเล็กลงและเปลี่ยนเป็นขนาดใหญ่ 150% แทนที่จะเป็นขนาดใหญ่พิเศษ - 250%
  3. ออกจากระบบและกลับเข้าสู่ระบบอีกครั้ง
  4. รีสตาร์ท Eclipse และตอนนี้ไอคอนจะปรากฏให้เห็นแม้ว่าจะมีขนาดเล็กลงเล็กน้อย แต่ก็สามารถอ่านได้ชัดเจนกว่ามาก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.