このリポジトリには、Microsoft Visual Studioエディターのオープンソースレイヤーが含まれています。これには、すべてのパブリックAPI定義と、テキストモデル、テキストロジック、およびエディターのPrimitives&Operationsサブシステムを含むエディターのいくつかの低レベルの実装が含まれます。これらのレイヤーは、拡張著者がエディターとよりよく統合することを目的としています。
いくつかの注意事項があるため、このリポジトリのレイヤーは、WindowsのVisual StudioとMacエディター用のVisual Studioの両方です。両方の編集者はこのコードベース上に構築されていますが、WPFおよびCocoa UI層を含むエディターの多くの側面はオープンソースではありません。
Mac 8.1向けのVisual Studioは、「リアル」Visual Studio Editor Coreに基づいて構築された新しいネイティブMacOSテキストエディターを導入しました。 WindowsでVisual Studioとより多くのコードを活用および共有することにより、開発者にパリティとパフォーマンスの利益をもたらすための継続的な取り組みの中心であるUIレイヤーは、WPFから最新のココアに直接移植されました。
最も顕著なのは、CocoaエディターがAppleのコアテキスト、コアグラフィックス、およびコアアニメーションテクノロジーを使用して、保持されたモードレイアウトと高い忠実度レンダリングを実行します。 MACOSの他の拡張と統合の中でも、 NSTextInputClientプロトコルを介してすべてのMacOS入力メソッドをサポートするようになりました。
現在、Visual StudioとLegacy Editorに基づいた新しいネイティブエディターは、すべての言語サービスをレガシーエディターから遠ざける間、共存しています。 Mac用のVisual Studioは、これまでC#とXAML(8.2プレビュー)をサポートしていますが、今後のリリースで他の言語のサポートを引き続き有効にします。次のことの詳細については、MacロードマップのVisual Studioを参照してください。
この図は、Visual Studioと比較してMac用のVisual Studioのレイヤー化を視覚化するのに役立ちますが、レガシーエディターは一部の言語にも存在します。
WPFエディターをWindowsからMacOSに移植するために、いくつかの低レベルのインターフェイスにいくつかの壊れた変更が加えられています。継続的な計画は、これらの違いを調整して、WPFとCocoaの編集者の間にAPIの違いがないようにすることです。
ただし、今のところ、Mac用のVisual StudioとVisual Studioをターゲットにするための2つの個別のNugetパッケージがあり、以下のそれぞれのセクションで入手できます。
ほとんどの非UI関連のインターフェイスは、エディターのWPFとココアの実装間で同一ですが、多くは新しいものでありながら馴染みがあります。CocoAをターゲットにする場合、 ICocoa*インターフェイスは一般に類似のIWpf*インターフェイスの代わりに見つけることができます。
次のリソースは、拡張著者がエディターAPIと機能に精通するようにする必要があり、Mac用のVisual StudioとVisual Studioの両方に関連しています。
Nugetパッケージは近日公開予定ですが、すべてのアセンブリは、アドインメーカーを使用する際にMac用のVisual Studio用の拡張機能で利用できます。アセンブリは、このリポジトリから直接生産することもできます(以下のエディターAPIの構築を参照)。
詳細については、Macのドキュメント用の拡張Visual Studioを参照してください。
Windowsでは、Visual Studio Editor APIはNUGET経由で利用でき、Visual Studio Extension Development WorkLoadにもインストールされています。
| ヌゲットパッケージ | 現在のバージョン |
|---|---|
| Microsoft.VisualStudio.Coreutility | |
| Microsoft.VisualStudio.Text.Data | |
| Microsoft.visualStudio.text.logic | |
| Microsoft.visualStudio.text.ui |
このリポジトリは主に参照を目的としていますが、エディターのより低いレベルの実行可能なビルドを生成できます。 Visual StudioのOpen VSEditorCore.slnまたはMac用のVisual Studioのいずれか、IDEからビルドするか、コマンドラインの上に構築します。
Visual Studio 2019またはMac 8.0以降のVisual Studioは必要です。
アセンブリは、リポジトリのルートにあるbin/ディレクトリで利用できます。
$ msbuild /restoreNugetパッケージはローカルで生産される場合があり、リポジトリのルートにある_artifacts/nuget/ディレクトリで利用可能になります。
$ msbuild /t:Packこのプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。
通常、現時点では、このリポジトリのコアエディターコードのプルリクエストを受け入れていません。新しいサンプルを含む、このリポジトリの他のコンテンツのプルリクエストをお気軽に送信してください。