visual studio 2010 - visual - ¿Cómo extender los elementos de IntelliSense?
resharper what''s new (3)
Me gustaría extender manualmente la lista de IntelliSense en varios elementos. Quiero ser responsable de la acción activada por el elemento (es decir, la finalización del código y la información de información sobre herramientas). No importa qué artículos.
¿Es esto posible con un complemento de VisualStudio, ReSharper / DXCore o cualquier otro plugin?
Fondo:
Algunos de ustedes pueden saber FOP (programación orientada a características). FOP requeriría varios cambios en la inteligencia y el comportamiento del editor.
Editar:
Otro post interesante .
Definitivamente, esto se puede hacer muy fácilmente escribiendo un complemento ReSharper .
Comience por implementar
ICodeCompletionItemsProvider
que proporcionará elementos adicionales de IntelliSense. La forma más sencilla es heredar deItemsProviderOfSpecificContext<TContext>
(siendoTContext
CSharpCodeCompletionContext
si está interesado en la finalización del código C #).Su proveedor agregará los elementos adicionales en la implementación de
AddLookupItems()
. Tiene la oportunidad de proporcionar una implementación personalizada deILookupItem
aquí: se llamará al métodoAccept()
de esta interfaz cuando el usuario elija el elemento en la ventana emergente de finalización. Aquí tienes la oportunidad de ejecutar el código que necesitas.
Tenga en cuenta que esta información es para R # 6.1 / 7.0. Aunque no creo que sea muy diferente en versiones anteriores. Obviamente, tiene que habilitar ReSharper IntelliSense en lugar de Visual Studio IntelliSense para que esto funcione.
Se puede agregar el editor intelliSense personalizado para VS2010 al colocar los archivos xsd personalizados en la carpeta C:/Program Files/Microsoft Visual Studio 10.0/Xml/Schemas
pero creo que está buscando algo más.
Debería echar un vistazo a Crear y utilizar fragmentos de código de IntelliSense y decidir si es lo que está buscando. Esta question en programmers.stockexchange también podría ser útil. Esta question también parece similar, lo que sugiere CSharpIntellisensePresenter (Gratis).
Tal vez las plantillas en vivo de ReSharper pueden ayudarlo (ReSharper-> Plantillas en vivo ...).