ตัวสร้างธีมของ Zed Editor
(zed.dev)- Theme Builder ของ Zed ต้องเปิดบนเดสก์ท็อปหากต้องการใช้ความสามารถทั้งหมด และบนเว็บสามารถดูส่วนขยายธีมที่ใช้งานได้ผ่าน View Theme Extensions
- หน้าจอแก้ไขประกอบด้วย Colors และ Syntax โดยสีแบ่งออกเป็นหลายหมวด เช่น Surface, Border, Text, Icon, Editor, Navigation, Terminal, Players เป็นต้น
- ในหมวด Surface มีค่ารายละเอียดย่อยอย่าง Background, Surface Background, Elevated Surface Background, Panel Background โดย Background แสดงเป็น
#3b414dffและ Surface Background แสดงเป็น#2f343eff - ค่าธีมบางส่วนไม่ได้เป็นโค้ดสีโดยตรง แต่ลิงก์ไปยังค่าอื่น โดย Elevated Surface Background และ Panel Background เชื่อมกับ
surface.backgroundส่วน Panel Focused Border และ Pane Focused Border เชื่อมกับborder.focused - ในหน้าพรีวิวมีปุ่มการทำงานอย่าง Create New Theme, Reset, Import, Export และยังแสดงสถานะของตัวแก้ไข เช่น
scheduler.tsx,catware.rs, การวินิจฉัย TypeScript/React,zed.dev — zsh,Version: 1.1.7, 9 Changes
ช่วงของสีที่แก้ไขได้
- หมวดหมู่สีแบ่งเป็น Surface, Border, Text, Icon, Editor, Navigation, Element, Ghost Element, Drop Target, Tabs, Scrollbar, Minimap, Status, Version Control, Terminal, Players เป็นต้น
- ในรายการ Surface จะเห็นค่ารายละเอียดย่อยอย่าง Background, Surface Background, Elevated Surface Background, Panel Background, Panel Focused Border, Panel Indent Guide, Panel Overlay Background, Pane Focused Border
- มีทั้งค่าที่แสดงเป็นโค้ดสีโดยตรงและค่าที่เชื่อมกับค่าอื่น โดย Background แสดงเป็น
#3b414dffและ Surface Background แสดงเป็น#2f343eff - Elevated Surface Background และ Panel Background เชื่อมกับ
surface.backgroundส่วน Panel Focused Border และ Pane Focused Border เชื่อมกับborder.focused
ปุ่มการทำงานและสถานะพรีวิว
- บนหน้าจอมีปุ่มจัดการธีมอย่าง Create New Theme, One / One Dark, Reset, Import, Export
- ในพรีวิวธีมจะแสดงแท็บไฟล์อย่าง
scheduler.tsx,catware.rsและสถานะรีโพซิทอรีzed.dev main/main - พรีวิวโค้ดเป็นตัวอย่าง TypeScript/React พร้อมการวินิจฉัย เช่น คำเตือนว่า
couldHaveBeenAnEmailไม่ได้ถูกใช้งาน, ข้อผิดพลาดชนิดข้อมูลที่กำหนดstringให้กับnumber, ข้อเสนอให้ใช้attendeesแทนatendees, และการแจ้งว่าagendaItemสามารถประกาศเป็นconstได้ - ในพรีวิวเทอร์มินัลจะแสดง
zed.dev — zsh,Editor: Zed,Version: 1.1.7,Platform: macOS - ในพรีวิวการจัดการเวอร์ชันจะแสดง 9 Changes, Stage All, Tracked, Untracked, Fetch, Commit Tracked และข้อความคอมมิต
Fixed the thing that broke the thing
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดีใจมากที่มีฟีเจอร์แบบนี้ออกมา พยายามจะใช้ Zed อยู่หลายครั้ง แต่พวกรายละเอียดเล็กๆ ที่ดูเหมือนไม่สำคัญเกี่ยวกับ ธีม กลับรู้สึกว่าส่งผลมากพอสมควร
ตัวอย่างเช่นใน https://imgur.com/a/ia2GCgg ด้านบนคือ VSCode ด้านล่างคือ Zed และทั้งคู่ใช้ธีมที่คล้ายกันกับ Svelte
สีของวงเล็บมุม สีของคอมโพเนนต์ built-in ที่ขึ้นต้นด้วยตัวพิมพ์ใหญ่ สีของ boolean attribute รวมถึงสีของวงเล็บกับข้อความต่างกัน
Inspector เป็นฟีเจอร์ที่เปลี่ยนเกมได้เลย และการที่คลิกเจาะเข้าไปยังองค์ประกอบเฉพาะจากพรีวิวที่ให้มานั้นมีประโยชน์มาก
ถ้าเอดิเตอร์ใช้ Language Server Protocol ก็อาจรับ semantic highlighting จาก language server ได้ด้วย
ลองค้นดูแล้วเจอ extension ตัวหนึ่ง ไม่แน่ใจว่าได้ลองหรือยัง: https://zed.dev/extensions/svelte
แม้จะไม่ได้ใช้ Zed แต่ดูจาก https://zed.dev/docs/reference/all-settings#colorize-brackets เหมือนว่าสามารถตั้งค่าพวกนี้ได้
ในที่สุดก็ทำสิ่งที่เข้าใกล้ คอนทราสต์สูง จริงๆ ได้อย่างใช้งานได้จริง แทนที่จะเป็นแบบ “เกือบคอนทราสต์สูง” เหมือนธีมที่มีมาให้ก่อนหน้านี้ เป็นการเปลี่ยนเล็กๆ แต่ Zed ยังปรับรายละเอียดได้ดีต่อเนื่อง จนหลังจากใช้ vim มา 15 ปี มันเปลี่ยนจาก “เอดิเตอร์ที่น่าสนใจ” เป็น “เอดิเตอร์ที่ชอบ” สำหรับผมแล้ว
follow mode ของ Git ดีมากเป็นพิเศษในช่วงที่การใช้ LLM ในงานพัฒนามีสัดส่วนมากขึ้น และก็ดีใจที่ทีมยังคงปรับปรุงรายละเอียดเล็กๆ แบบนี้ต่อไป
สำหรับผม Zed แทบจะมาถึงจุดนั้นแล้ว Theme Builder ดีและใช้ง่ายมาก จนสร้างธีมของตัวเองได้ภายในไม่กี่นาที
สี syntax โดยรวมเกือบดีแล้วแต่ยังไม่สุด และในฐานะคนใช้ C/C++ ก็ยังมีจุดที่น่าเสียดาย
การปรับภาพเล็กๆ อย่างความสูงบรรทัดของข้อความใน UI ยังตั้งค่าได้ไม่พอ มีตัวเลือกแค่สองแบบ
การเลื่อนหน้าจอควรมีตัวเลือกแบบ smooth ไม่มีเหตุผลให้ปิดกั้น และก็ดูเหมือนจะเพิ่มได้ไม่ยาก โดยเฉพาะบนจอ 240Hz เวลาขยับดูโค้ดแล้วสบายตากว่า
ประสบการณ์การแก้ไขโดยรวมดี เปิดเร็ว ไม่แครช ตอบสนองไว และใช้หน่วยความจำได้โอเค
https://mos.caldis.me/
พอสลับแอปแล้วมันกลับมาทำงานต่อได้ ผมไม่เคยเห็นอาการแบบนี้ในแอปอื่น
พอจะไปรายงานบั๊ก ก็เจอฟอร์มที่ยาวกว่ายื่นภาษีอีก รู้สึกว่าการรายงานบั๊กน่าจะเป็นงานที่ AI เหมาะทั้งตอนรับข้อมูลและตอนคัดแยกหลังจากนั้น
แม้ตอนใช้ Windows ผมก็ยังใช้ Magic Trackpad ด้วยมือซ้าย เพื่อให้ยังได้การเลื่อนแบบแอนะล็อกที่ลื่นไหล
ฟังดูอาจเป็นเหตุผลตื้นๆ แต่หนึ่งในเหตุผลใหญ่ที่สุดที่ทำให้ผมใช้ Zed ไม่ได้คือมันไม่มี ธีมมืดเริ่มต้น ที่ดีพอ
ธีมเริ่มต้นทั้งหมดคอนทราสต์ต่ำและเป็นเทาบนเทา ทำให้แม้ตัวเอดิเตอร์จะยอดเยี่ยม แต่ประสบการณ์ใช้งานกลับดูหม่นและชวนให้ไม่อยากใช้
"experimental.theme_overrides": {"background": "#111","panel.background": "#111","text": "#eee","text.muted": "#ccc","title_bar.background": "#111","tab_bar.background": "#111","toolbar.background": "#111","status_bar.background": "#111","element.selected": "#333","editor.background": "#000","editor.gutter.background": "#000"}ปกติผมจะหา dark theme ที่หน้าตาดีสักตัว แล้วทำเวอร์ชันปรับแต่งเองโดยทำพื้นหลังให้มืดขึ้นและสีตัวอักษรให้สว่างขึ้น
ตอนนี้คงถึงเวลาปล่อยธีมมืดคอนทราสต์สูงให้สาธารณะแล้ว แทนที่จะเก็บไว้แก้ใช้คนเดียว
แต่ก็เห็นด้วยว่าไม่มีเหตุผลอะไรที่ไม่ใส่ธีมมืดคอนทราสต์สูงดีๆ มาสักไม่กี่ตัวเป็นค่าเริ่มต้น
ถ้าใช้ Omarchy อยู่ ในอัปเดต 3.8 มี dynamic theme สำหรับ Zed มาด้วย ค่อนข้างเท่เลย: https://github.com/APS6/omazed
ดีที่ได้เห็น Zed พัฒนาไปเรื่อยๆ แต่รู้สึกว่ามันผูกกับ บัญชีผู้ใช้ มากเกินไป มีปุ่ม “Sign In” เด่นๆ แล้วก็โฆษณาอย่าง “Try our new agentic...”
ผมเข้าใจนะว่าต้องหารายได้ แต่แรงจูงใจที่เริ่มต้นแบบนี้บ่อยครั้งเกินไปที่พาแอปพลิเคชันไปในทิศทางที่แย่ลง
ถัดไปจะเป็นโฆษณาในช่องค้นหาไฟล์หรือเปล่า? Ubuntu ก็เคยพลาดแนวนี้จนโดนชุมชนต่อต้านมาแล้ว ประมาณว่า “LQQKING for something? try new ai search by blah blah corp!”
เพราะงั้นต่อให้จะใช้เวลาปรับเอดิเตอร์กับธีมไปมากแค่ไหน ก็ยังรู้สึกลำบากที่จะลงทุน เพราะมันอาจหักหลังเราในภายหลังได้ VSCode ก็เดินเส้นทางนี้ไปแล้ว และถึงขั้นให้เซ็น commit message ด้วย Copilot
ผมพยายามจะทำสีแบบ Soda Dark / Sunburst ที่เคยชอบใน Sublime Text ให้กลับมา แต่เป็นงานแบบซิซิฟัสจริงๆ
สุดท้ายเลยเอาสกรีนช็อตไม่กี่ภาพกับค่าตั้งต้น ST4 เดิมใส่เข้าไปใน AI Studio แล้วก็ได้ผลที่พอใช้ได้ แต่ไม่ใช่การคัดลอกแบบเป๊ะๆ อยู่ดี ก็สมเหตุสมผลเพราะแต่ละเอดิเตอร์มี semantic token ไม่เหมือนกัน
ว้าว ดีเลย ผมเคยลอง Zed แต่ทำโทนสีรวมให้เหมือน cobalt แบบคลาสสิกของ gedit/gtksourceview ไม่ได้เลย
ถ้ามีใครทำธีมแบบนั้นให้ ผมยินดีจ่ายเงินจริงจังในราคาที่เหมาะสม
ถ้าทำให้มันเวิร์กได้ ผมสนใจนะ
สงสัยว่าใน Zed มีแฟล็กประมาณ “ที่บริษัทอนุญาตแค่ GitHub Copilot เท่านั้น และไม่ต้องการ autocomplete ฟรีหรือฟีเจอร์ที่ส่งโค้ดไปยังบุคคลที่สาม” หรือเปล่า
https://zed.dev/docs/ai/edit-prediction