ที่เก็บนี้มีเลเยอร์โอเพนซอร์สของ Microsoft Visual Studio Editor ซึ่งรวมถึงคำจำกัดความของ API สาธารณะทั้งหมดและการใช้งานระดับต่ำของตัวแก้ไขรวมถึงรูปแบบข้อความตรรกะข้อความและระบบย่อย Primitives และ Editor Primitives เลเยอร์เหล่านี้มีไว้สำหรับผู้เขียนส่วนขยายเพื่อรวมเข้ากับตัวแก้ไขให้ดีขึ้น
ด้วยข้อแม้สองสามชั้นในที่เก็บพลังงานนี้ทั้ง Visual Studio บน Windows และ Visual Studio สำหรับบรรณาธิการ Mac ในขณะที่บรรณาธิการทั้งสองถูกสร้างขึ้นบน codebase นี้ แต่หลาย ๆ ด้านของตัวแก้ไขไม่ใช่โอเพนซอร์สรวมถึงชั้น WPF และ Cocoa UI
Visual Studio สำหรับ MAC 8.1 แนะนำตัวแก้ไขข้อความ MacOS ดั้งเดิมที่สร้างขึ้นบนแกน Editor Visual Studio Editor เป็นศูนย์กลางของความพยายามอย่างต่อเนื่องของเราในการนำผลประโยชน์ความเท่าเทียมและประสิทธิภาพมาสู่นักพัฒนาโดยการใช้ประโยชน์และแบ่งปันรหัสเพิ่มเติมกับ Visual Studio บน Windows ชั้น UI ถูกส่งโดยตรงจาก WPF ไปยังโกโก้สมัยใหม่
ที่โดดเด่นที่สุดคือ Cocoa Editor ใช้ข้อความหลักของ Apple, กราฟิกหลักและเทคโนโลยีแอนิเมชั่นหลักเพื่อดำเนินการเลย์เอาต์โหมดที่เก็บรักษาไว้และการแสดงข้อความที่มีความเที่ยงตรงสูง ท่ามกลางการปรับปรุงอื่น ๆ และการรวมเข้ากับ MACOS ตอนนี้รองรับวิธีการป้อนข้อมูล MACOS ทั้งหมดผ่านโปรโตคอล NSTextInputClient
ปัจจุบันบรรณาธิการใหม่ที่ใช้ Visual Studio และ Editor Legacy Editor อยู่ร่วมกันในขณะที่เราเปลี่ยนบริการภาษาทั้งหมดให้ห่างจากมรดก Visual Studio สำหรับ Mac รองรับ C# และ XAML (ใน 8.2 Previews) จนถึงตอนนี้ แต่จะยังคงเปิดใช้งานการสนับสนุนภาษาอื่น ๆ ในการเผยแพร่ที่กำลังจะมาถึง โปรดดูที่ Visual Studio สำหรับ MAC Roadmap สำหรับรายละเอียดเกี่ยวกับสิ่งต่อไป
แผนภาพนี้ควรช่วยให้เห็นภาพเลเยอร์ของ Visual Studio สำหรับ Mac เมื่อเทียบกับ Visual Studio ในขณะที่ตัวแก้ไขมรดกยังคงมีอยู่สำหรับบางภาษา
เพื่ออำนวยความสะดวกในการพอร์ตตัวแก้ไข WPF จาก Windows ไปยัง MacOS การเปลี่ยนแปลงบางอย่างได้เกิดขึ้นกับอินเทอร์เฟซระดับล่างบางส่วน แผนอย่างต่อเนื่องคือการกระทบยอดความแตกต่างเหล่านี้ซึ่งไม่มีความแตกต่างของ API ใด ๆ ระหว่างบรรณาธิการ WPF และ Cocoa
อย่างไรก็ตามสำหรับตอนนี้มีแพ็คเกจ NUGET สองชุดแยกต่างหากสำหรับการกำหนดเป้าหมาย Visual Studio และ Visual Studio สำหรับ Mac ซึ่งมีอยู่ในส่วนที่เกี่ยวข้องด้านล่าง
ในขณะที่อินเทอร์เฟซที่ไม่เกี่ยวข้องกับ UI ส่วนใหญ่นั้น เหมือนกันในการใช้งาน WPF และ Cocoa ของตัวแก้ไข แต่หลายคนก็คุ้นเคย แต่เมื่อกำหนดเป้าหมายไปที่ Cocoa, ICocoa* โดยทั่วไปสามารถพบได้แทนอินเทอร์เฟซ IWpf* ที่คล้ายคลึงกัน
ทรัพยากรต่อไปนี้ควรช่วยให้ผู้เขียนส่วนขยายคุ้นเคยกับ API และความสามารถของบรรณาธิการและเกี่ยวข้องกับทั้ง Visual Studio และ Visual Studio สำหรับ Mac
แพ็คเกจ Nuget กำลังจะมาถึง แต่ชุดประกอบทั้งหมดมีให้สำหรับส่วนขยายสำหรับ Visual Studio สำหรับ Mac เมื่อใช้ Add-in Maker แอสเซมบลีสามารถผลิตได้โดยตรงจากที่เก็บนี้ (ดูการสร้างตัวแก้ไข API ด้านล่าง)
อ้างถึงเอกสารประกอบ Extending Visual Studio สำหรับ MAC สำหรับรายละเอียด
บน Windows Visual Studio Editor API มีให้บริการผ่าน NUGET และยังติดตั้งด้วยเวิร์กโหลดการพัฒนาส่วนขยาย Visual Studio
| แพ็คเกจ Nuget | เวอร์ชันปัจจุบัน |
|---|---|
| microsoft.visualstudio.coreutility | |
| microsoft.visualstudio.text.data | |
| microsoft.visualstudio.text.logic | |
| microsoft.visualstudio.text.ui |
ในขณะที่พื้นที่เก็บข้อมูลนี้มีวัตถุประสงค์เพื่ออ้างอิงเป็นส่วนใหญ่ แต่ก็สามารถสร้างการสร้างที่มีศักยภาพในระดับที่ต่ำกว่าของตัวแก้ไข ไม่ว่าจะเปิด VSEditorCore.sln ใน Visual Studio หรือ Visual Studio สำหรับ Mac และสร้างจาก IDE หรือสร้างบนบรรทัดคำสั่ง
Visual Studio 2019 หรือ Visual Studio สำหรับ Mac 8.0 หรือใหม่กว่านั้นเป็นสิ่งจำเป็น
แอสเซมบลีจะมีอยู่ใน bin/ Directory ที่รูทของที่เก็บ
$ msbuild /restore แพ็คเกจ NuGet อาจผลิตในท้องถิ่นและจะมีอยู่ใน _artifacts/nuget/ ไดเรกทอรีที่รูทของที่เก็บ
$ msbuild /t:Packโครงการนี้ได้นำรหัสการดำเนินงานของ Microsoft โอเพ่นซอร์สมาใช้ สำหรับข้อมูลเพิ่มเติมโปรดดูจรรยาบรรณคำถามที่พบบ่อยหรือติดต่อ [email protected] พร้อมคำถามหรือความคิดเห็นเพิ่มเติมใด ๆ
โดยทั่วไปเราไม่ยอมรับคำขอดึงสำหรับที่เก็บนี้สำหรับรหัสตัวแก้ไขหลักในเวลานี้ โปรดส่งคำขอดึงสำหรับเนื้อหาอื่น ๆ ในที่เก็บนี้รวมถึงตัวอย่างใหม่