Risposte:
È possibile eseguire il debug delle estensioni di Visual Studio come qualsiasi altra applicazione. Hai solo bisogno di configurare l'esperienza di debug per avviare devenv con l'estensione caricata. Prova quanto segue
Fare clic sul pulsante di opzione per Start External Program
. Puntalo al binario devenv.exe. Sulla mia macchina si trova in
C: \ Programmi (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe
Su una macchina non x64 è comunque possibile rimuovere la parte "(x86)".
Quindi imposta gli argomenti della riga di comando su /rootsuffix Exp
. Ciò indica a Visual Studio di utilizzare l'hive sperimentale invece del normale hive di configurazione. Per impostazione predefinita, le estensioni VSIX quando vengono create si registreranno nell'hive sperimentale.
Ora puoi F5 e avvierà Visual Studio con VSIX come estensione disponibile.
La risposta accettata da @JaredPar è tecnicamente corretta, ma soffre del fatto che devi rifarla per ogni sviluppatore, ogni volta che ottieni una nuova copia del codice e ogni volta che il csproj.user
file viene eliminato. Quando lo fai in questo modo, le impostazioni vengono salvate nel csproj.user
file.
Un'opzione migliore è inserire le impostazioni nel csproj
file in modo che non vadano perse. Sfortunatamente, Visual Studio non ti consente di farlo automaticamente, quindi devi aggiungere manualmente le impostazioni. Fortunatamente, le impostazioni sono le stesse per qualsiasi progetto.
Fare clic con il pulsante destro del mouse e scaricare il progetto, quindi fare nuovamente clic con il pulsante destro del mouse e modificare il csproj
file del file di progetto. Nell'XML, aggiungi quanto segue al primo PropertyGroup
, ad esempio subito dopo TargetFramework
.
<StartAction>Program</StartAction>
<StartProgram>$(DevEnvDir)\devenv.exe</StartProgram>
<StartArguments>/rootsuffix Exp</StartArguments>
Ciò presenta i seguenti vantaggi;
Come afferma @MBulli nei commenti, se hai apportato le modifiche nella risposta accettata, elimina il tuo *.csproj.user
file perché le impostazioni in esso sovrascriveranno quelle che hai aggiunto al csproj
file principale .
Il metodo OutputWindowHelper.OutputString scrive nel riquadro della finestra di output "Generale" (Ctrl Alt o). Ho aggiunto questa riga nei miei riferimenti .csproj per ottenerlo in VS 2013
<Reference Include="Microsoft.VisualStudio.Services.Integration, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
Vedi anche questa risposta .