Novedades del SDK de Visual Studio 2019
El SDK de Visual Studio tiene las siguientes características nuevas y actualizadas para Visual Studio 2019.
Advertencia de extensiones cargadas automáticamente de forma sincrónica
Ahora, los usuarios verán una advertencia si alguna de sus extensiones instaladas se carga automáticamente al iniciarse. Puede obtener más información sobre la advertencia en Extensiones cargadas automáticamente de forma sincrónica.
SDK de Visual Studio único y unificado
Ahora puede obtener todos los recursos del SDK de Visual Studio a través de un único paquete NuGet Microsoft.VisualStudio.SDK.
Mejoras en el registro del editor
Desde su creación, Visual Studio ha admitido el registro de editor personalizado, donde un editor puede declarar su afinidad con extensiones específicas (por ejemplo, .xaml y .rc) o que es adecuada para cualquier extensión (.*). A partir de la versión 16.1 de Visual Studio 2019, ampliamos la compatibilidad con el registro del editor.
Nombres de archivo
Además de, o en lugar de, registrar la compatibilidad con una extensión de archivo determinada, un editor puede registrar que admite nombres de archivo específicos aplicando el nuevo ProvideEditorFilename
atributo al paquete del editor.
Por ejemplo, un editor que admita todos los archivos .json aplicaría este ProvideEditorExtension
atributo a su paquete:
[ProvideEditorExtension(typeof(MyEditor), ".json", MyEditor.Priority)]
A partir de la versión 16.1, si MyEditor solo admite un par de archivos .json conocidos, en su lugar puede aplicar estos ProvideEditorFilename
atributos a su paquete:
[ProvideEditorFilename(typeof(MyEditor), "particular.json", MyEditor.Priority)]
[ProvideEditorFilename(typeof(MyEditor), "special.json", MyEditor.Priority)]
UIContexts
Un editor puede registrar uno o varios UIContexts que representan cuando está habilitado. UIContexts se registran aplicando una o varias instancias del ProvideEditorUIContextAttribute
paquete que registra el editor.
Si un editor ha registrado UIContexts:
- Si al menos uno de sus UIContexts registrados está activo cuando se abre un archivo con la extensión especificada, el editor se incluye en la búsqueda del editor.
- Si ninguno de los UIContexts registrados está activo, el editor no se incluye en la búsqueda del editor.
Si un editor no registra ningún UIContexts, siempre se incluye en la búsqueda del editor esa extensión.
Por ejemplo, si un editor solo está disponible cuando un proyecto de C# está abierto, puede declarar esta afinidad aplicando un ProvideEditorUIContext
atributo:
[ProvideEditorUIContext(typeof(MyEditor), KnownUIContexts.CSharpProjectContext)]