2009-07-08 10 views
9

J'ai ajouté un fichier batch (.bat) à mon projet. Je veux ajouter un nouvel éditeur pour les fichiers batch qui exécuteraient réellement ce fichier batch dans la fenêtre d'invite de commande.Ajout d'éditeurs dans la boîte de dialogue "Ouvrir avec ..." de Visual Studio

Ce que je l'ai fait, mais je ne me souviens de mon éditeur:

  1. faites un clic droit sur mon fichier .bat
  2. sélectionné Ouvrir avec ...
  3. cliquée Ajouter
  4. Définir le programme comme "cmd/c" et un nom convivial
  5. Accepté ce dialogue.
  6. Une nouvelle fenêtre apparaît qui me dit qu'il ne peut pas valider chemin de l'éditeur (en raison du paramètre additinoal, parce que si je le supprimer, cela fonctionne)
  7. Mon nouvel éditeur est dans la fenêtre.

Quand j'ouvre même Ouvrir avec ... dialogue nouveau, mon éditeur n'est pas présent.

Comment dois-je m'attaquer à cela?

Répondre

9

Ok. J'ai réussi à résoudre cela moi-même.
Comme je found on the internet il s'agit d'un bogue Visual Studio, il ne se souvient donc pas de ce type d'éditeur (nom de fichier exécutable paramétré). Mais néanmoins. La solution va comme ceci:

  1. Créer un fichier batch séparé par exemple ExecuteBatch.cmd
  2. Mettez ce code dans le:

    @cmd /c %1

  3. Puis ajouter le nouvel éditeur dans Visual Studio en pointant vers ce fichier ExecuteBatch.cmd.

Voila. Problème résolu. Des instructions détaillées peuvent être trouvées in this blog post.

+0

Merci beaucoup; cela semble le faire. (Avec la condition ennuyante qu'il doit être rajouté pour chaque type de fichier que vous voulez éditer.) Pour la dernière version d'Emacs, mon fichier .cmd contient: '@" C: \ Program Files \ emacs-24.2 \ bin \ emacsclientw.exe "-na" C: \ Program Files \ emacs-24.2 \ bin \ runemacs.exe "% 1' –

+1

Oh. Je peux aussi vérifier que VS2012 (ou au moins le RC que j'ai vu) a corrigé ce bug. –

2

Selon le conseil here, vous pouvez également utiliser PowerShell "Open With", et vous n'avez pas à vous soucier des paramètres.

Les instructions de ce lien sont:

Vous pouvez exécuter les fichiers .bat à partir de l'explorateur de solution directement par associant le comportement par défaut de extensions « .bat » à Powershell.

  1. cliquez droit sur le fichier de commandes dans l'Explorateur de solutions
  2. Sélectionnez zone de texte « Ouvrir avec ... » dans le menu contextuel
  3. Cliquez sur « Ajouter ... »
  4. Dans le « Nom du programme », spécifiez le plein chemin de PowerShell (« \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe »)
  5. Dans le « nom convivial » zone de texte entrer « PowerShell »
  6. Sélectionnez « Définir par défaut »
  7. Cliquez sur OK

Maintenant, quand vous double cliquez sur votre fichier shell lot dans l'explorateur de solution, il vers Powershell et exécuter.

Fonctionne pour moi.

0

Je viens de dire visual studio pour ouvrir le fichier .bat avec l'explorateur Windows;)

Add Program dialog - explorer.exe

1

suggestion supplémentaire: en VS2012 vous pouvez simplement utiliser cmd.exe.

Mais! L'inconvénient est que votre fichier bat va commencer dans le dossier de départ VS, pas dans le dossier de votre soultion. C'est pourquoi j'ai utilisé this recipe, mais l'a étendu un peu. Mon fichier .bat est:

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

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

La syntaxe est expliqué here

2

expansion sur les réponses de Robert et Rustam, voici le script RunBatch.bat que j'utilise le programme « Ouvrir avec » pour le lot en cours d'exécution fichiers à partir de Visual Studio:

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

La première ligne accède au dossier du fichier et la deuxième ligne exécute le fichier.

Cela préserve le répertoire de travail dans Visual Studio 2012 et versions ultérieures et prend également en charge les fichiers de commandes qui ont des espaces dans le nom de fichier.

Questions connexes