2009-07-08 13 views
9

Ho aggiunto un file batch (.bat) al mio progetto. Voglio aggiungere un nuovo editor per i file batch che eseguirà questo file batch nella finestra del prompt dei comandi.Aggiunta di editor in Visual Studio Finestra di dialogo "Apri con ..."

Quello che ho fatto, ma non mi ricordo la mia editore:

  1. destro cliccato sul mio file .bat
  2. selezionati Apri con ...
  3. Cliccato Aggiungi
  4. Impostare il programma come "cmd/c" e alcuni Nome descrittivo
  5. Accettato questa finestra di dialogo.
  6. Viene visualizzata una nuova finestra che mi dice che non può convalidare Editor percorso (a causa del parametro additinoal, perché se tolgo, funziona)
  7. Il mio nuovo editore si trova nella finestra.

Quando apro la stessa Apri con ... dialogo nuovo, il mio editor di non è presente.

Come devo affrontare questo?

risposta

9

Ok. Sono riuscito a risolverlo da solo.
Come I found on the internet questo è un bug di Visual Studio, quindi non ricorda questo tipo di editor (nomi di file eseguibili parametrizzati). Ma comunque. La soluzione è questa:

  1. creare un file batch separata cioè ExecuteBatch.cmd
  2. inserire questo codice in esso:

    @cmd /c %1

  3. quindi aggiungere il nuovo editor in Visual Studio indicando questo file ExecuteBatch.cmd.

Voila. Problema risolto. Istruzioni dettagliate possono essere trovate in this blog post.

+0

Grazie mille; sembra farlo. (Con la fastidiosa clausola che deve essere riaggiunto per ogni tipo di file che si desidera modificare.) Per l'ultima versione di Emacs, il mio file .cmd contiene: '@" C: \ Programmi \ emacs-24.2 \ bin \ emacsclientw.exe "-na" C: \ Programmi \ emacs-24.2 \ bin \ runemacs.exe "% 1' –

+1

Oh. Posso anche verificare che VS2012 (o almeno la RC che ho visto) abbia corretto questo bug. –

2

Secondo il consiglio here è anche possibile utilizzare "Apri con" PowerShell e non è necessario preoccuparsi di alcun parametro.

Le istruzioni che puntano sono:

È possibile eseguire bat file dalla Esplora soluzioni direttamente associando il comportamento predefinito di estensione “.bat” a PowerShell.

  1. fare clic destro del mouse sul file batch in Solution Explorer
  2. selezionare “Apri con ...” dal menu contestuale
  3. Fare clic su “Aggiungi ...”
  4. Nel campo “Nome Programma” casella di testo, specificare il completo percorso di PowerShell (“\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe”)
  5. Nella casella di testo “nome descrittivo” enter “PowerShell”
  6. Selezionare “Imposta come predefinito”
  7. Fare clic su OK

Ora, quando si fa doppio clic il file batch nella soluzione esploratore, sarà sborsare per PowerShell ed eseguire.

Lavori per me.

0

Ho appena detto Visual Studio per aprire il file .bat con Windows Explorer;)

Add Program dialog - explorer.exe

1

ulteriore suggerimento: in VS2012 si può semplicemente utilizzare cmd.exe.

Ma! Lo svantaggio è che il tuo file bat inizierà nella cartella principale VS, non nella cartella della tua anima. Ecco perché ho usato this recipe, ma l'ho esteso un po '. Il mio file .bat è:

:: Navigate to file's folder 
@cd %~dp1 

:: Run file in its folder 
@cmd /c %~n1%~x1 

sintassi è spiegato here

2

espansione a seconda delle risposte di Robert e Rustam, qui è lo script RunBatch.bat che uso come il programma "Apri con" per l'esecuzione in batch file da Visual Studio:

@cd %~dp1 
@call "%~n1%~x1" 

La prima riga passa alla cartella del file e la seconda riga esegue il file.

Ciò mantiene la directory di lavoro in Visual Studio 2012 e versioni successive e supporta anche i file batch che contengono spazi nel nome del file.

Problemi correlati