vscode visual tutorial tag studio español color code closing close autoclose visual-studio debugging vsix visual-studio-extensions

visual-studio - visual - vs code autoclose html



Cómo depurar extensiones de Visual Studio (4)

El método OutputWindowHelper.OutputString escribe en el panel de la ventana de salida ''General'' (Ctrl Alt o). Agregué esta línea en mis referencias .csproj para obtener esto en VS 2013

<Reference Include="Microsoft.VisualStudio.Services.Integration, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />

También vea esta respuesta .

Solo estoy escribiendo una extensión VSIX para Visual Studio 2010 y no puedo encontrar la manera de depurarlo.

Un método obvio es emitir mensajes. La plantilla de extensión usa Trace.WriteLine() . ¿Pero dónde encontrar su salida?


La respuesta aceptada por @JaredPar es técnicamente correcta, pero adolece del hecho de que debe volver a realizarla para cada desarrollador, cada vez que obtiene una copia nueva del código y cada vez que se csproj.user archivo csproj.user . Cuando lo hace de esa manera, la configuración se guarda en el archivo csproj.user .

Una mejor opción es colocar las configuraciones en el archivo csproj para que no se pierdan. Desafortunadamente, Visual Studio no le permite hacer esto automáticamente, por lo que debe agregar manualmente la configuración. Afortunadamente, la configuración es la misma para cualquier proyecto.

Haga clic derecho y descargue el proyecto, luego haga clic derecho nuevamente y edite el archivo del proyecto csproj . En el XML, agregue lo siguiente al primer PropertyGroup , por ejemplo, inmediatamente después de TargetFramework .

<StartAction>Program</StartAction> <StartProgram>$(DevEnvDir)/devenv.exe</StartProgram> <StartArguments>/rootsuffix Exp</StartArguments>

Esto tiene las siguientes ventajas;

  • Lo configura para depurar y liberar
  • Se ejecuta cualquier versión de Visual Studio que esté ejecutando actualmente
  • Se comprueba en el control de la fuente, por lo que cada desarrollador no tiene que recordar cómo hacerlo :)

Como @MBulli declara en los comentarios, si ha realizado los cambios en la respuesta aceptada, elimine su archivo *.csproj.user porque las configuraciones en él csproj las que agregó al archivo principal csproj .


Las extensiones de Visual Studio se pueden depurar como cualquier otra aplicación. Solo necesita configurar la experiencia de depuración para iniciar devenv con la extensión cargada. Pruebe lo siguiente

  • Haga clic derecho en el proyecto y seleccione Propiedades
  • Ve a la pestaña de depuración

Haga clic en el botón de radio para Start External Program . Apúntalo al binario devenv.exe. En mi máquina está ubicada en

C: / Archivos de programa (x86) / Microsoft Visual Studio 10.0 / Common7 / IDE / devenv.exe

En una máquina que no sea x64, puede eliminar la porción "(x86)".

A continuación, establezca los argumentos de la línea de comandos en /rootsuffix Exp . Esto le dice a Visual Studio que use la colmena experimental en lugar de la colmena de configuración normal. Por defecto, las extensiones VSIX cuando se compilan se registrarán en la colmena experimental.

Ahora puede F5 e iniciará Visual Studio con su VSIX como una extensión disponible.


Si intenta depurar UnitTestExtension, también debe adjuntar el depurador a los procesos de vstest. *. Exe como se describe here . De lo contrario, es posible que vea el punto de activación pero el depurador nunca lo alcanzará.