Aracılığıyla paylaş


Visual Studio 2019 SDK'daki Yenilikler

Visual Studio SDK'sı, Visual Studio 2019 için aşağıdaki yeni ve güncelleştirilmiş özelliklere sahiptir.

Zaman uyumlu olarak otomatik yüklenen uzantılar uyarısı

Kullanıcılar artık yüklü uzantılarından herhangi biri başlatma sırasında zaman uyumlu olarak otomatik olarak yüklenirse bir uyarı görür. Uyarı hakkında daha fazla bilgi için bkz. Zaman uyumlu olarak otomatik yüklenen uzantılar.

Tek, birleşik Visual Studio SDK'sı

Artık tüm Visual Studio SDK varlıklarını Microsoft.VisualStudio.SDK tek bir NuGet paketi aracılığıyla alabilirsiniz.

Düzenleyici Kayıt Geliştirmeleri

Visual Studio, oluşturulduğundan bu yana, bir düzenleyicinin belirli uzantılar (örneğin, .xaml ve .rc) için benşimini bildirebileceği veya herhangi bir uzantı (.*) için uygun olduğu özel düzenleyici kaydını desteklemiştir. Visual Studio 2019 sürüm 16.1'den başlayarak düzenleyici kaydı desteğini genişletiyoruz.

Dosya Adları

Düzenleyici, yeni özniteliği düzenleyicinin paketine uygulayarak ProvideEditorFilename , belirli bir dosya uzantısı için destek kaydetmeye ek olarak veya bunun yerine belirli dosya adlarını desteklediğini kaydedebilir.

Örneğin, tüm .json dosyalarını destekleyen bir düzenleyici bu ProvideEditorExtension özniteliği paketine uygulayabilir:

[ProvideEditorExtension(typeof(MyEditor), ".json", MyEditor.Priority)]

16.1'den başlayarak, MyEditor yalnızca birkaç iyi bilinen .json dosyasını destekliyorsa, bunun yerine bu ProvideEditorFilename öznitelikleri paketine uygulayabilir:

[ProvideEditorFilename(typeof(MyEditor), "particular.json", MyEditor.Priority)]
[ProvideEditorFilename(typeof(MyEditor), "special.json",    MyEditor.Priority)]

UIContexts

Düzenleyici etkinleştirildiğinde temsil eden bir veya daha fazla UIContext kaydedebilir. UIContexts, düzenleyiciyi kaydeden pakete bir veya daha fazla örneği ProvideEditorUIContextAttribute uygulanarak kaydedilir.

Bir düzenleyici UIContexts'i kaydettiyse:

  • Belirtilen uzantıya sahip bir dosya açıldığında kayıtlı UIContext'lerinden en az biri etkinse düzenleyici aramasına eklenir.
  • Kayıtlı UIContexts'in hiçbiri etkin değilse düzenleyici, düzenleyici aramasında yer almaz.

Düzenleyici herhangi bir UIContext kaydetmezse, her zaman bu uzantı için düzenleyici aramasında yer alır.

Örneğin, bir düzenleyici yalnızca bir C# projesi açıkken kullanılabiliyorsa, bir ProvideEditorUIContext öznitelik uygulayarak bu benzimi bildirebilir:

[ProvideEditorUIContext(typeof(MyEditor), KnownUIContexts.CSharpProjectContext)]