Visual studio “在Visual Studio中添加编辑器”;“以…开头”;对话框

Visual studio “在Visual Studio中添加编辑器”;“以…开头”;对话框,visual-studio,batch-file,Visual Studio,Batch File,我将批处理(.bat)文件添加到我的项目中。我想为批处理文件添加一个新的编辑器,该编辑器将在命令提示符窗口中实际执行此批处理文件 我做了什么,但不记得我的编辑: 右键单击我的.bat文件 所选打开时使用… 单击添加 将程序设置为“cmd/c”和一些友好的名称 接受此对话框 出现一个新窗口,告诉我它无法验证编辑器路径(因为additinoal参数,因为如果我删除它,它就会工作) 我的新编辑器在窗口中 当我再次打开相同的用…打开对话框时,我的编辑器不存在 我应该如何解决这个问题?好的。我自己设法解决

我将批处理(.bat)文件添加到我的项目中。我想为批处理文件添加一个新的编辑器,该编辑器将在命令提示符窗口中实际执行此批处理文件

我做了什么,但不记得我的编辑:

  • 右键单击我的.bat文件
  • 所选打开时使用…
  • 单击添加
  • 将程序设置为“cmd/c”和一些友好的名称
  • 接受此对话框
  • 出现一个新窗口,告诉我它无法验证编辑器路径(因为additinoal参数,因为如果我删除它,它就会工作)
  • 我的新编辑器在窗口中
  • 当我再次打开相同的用…打开对话框时,我的编辑器不存在


    我应该如何解决这个问题?

    好的。我自己设法解决了这个问题。
    正如我所说,这是一个VisualStudio bug,所以它不记得这些编辑器(参数化的可执行文件名)。但尽管如此。解决方案如下:

  • 创建一个单独的批处理文件,即ExecuteBatch.cmd
  • 将此代码放入其中:

    @cmd/c%1

  • 然后通过指向此ExecuteBatch.cmd文件在Visual Studio中添加新编辑器

  • 问题已解决。可以找到详细说明。

    根据建议,您也可以使用“Open With”PowerShell,并且不必担心任何参数

    该链接的说明如下:

    您可以从中运行.bat文件 解决方案资源管理器直接由 关联的默认行为 Powershell的“.BAT”扩展

  • 在解决方案资源管理器中的批处理文件上单击鼠标右键
  • 从关联菜单中选择“用…”打开
  • 单击“添加…”
  • 在“程序名”文本框中,指定PowerShell的完整路径 (“\Windows\System32\WindowsPowerShell\v1.0\powershell.exe”)
  • 在“友好名称”文本框中输入“PowerShell”
  • 选择“设为默认值”
  • 单击“确定”
  • 现在,当你双击你的批 在解决方案资源管理器中,它将 向powershell发送shell并执行


    适合我。

    我刚刚告诉visual studio使用windows资源管理器打开.bat文件;)


    其他建议:在VS2012中,您只需使用cmd.exe即可

    但是!缺点是bat文件将从VS home文件夹开始,而不是从SOUTION文件夹开始。这就是我使用的原因,但是扩展了一点。我的.bat文件是:

    :: Navigate to file's folder
    @cd %~dp1
    
    :: Run file in its folder
    @cmd /c %~n1%~x1
    

    语法解释

    根据Robert和Rustam的回答展开,下面是RunBatch.bat脚本,我使用它作为从Visual Studio运行批处理文件的“打开方式”程序:

    @cd %~dp1
    @call "%~n1%~x1"
    
    第一行导航到文件的文件夹,第二行运行文件


    这将保留Visual Studio 2012及更高版本中的工作目录,还支持文件名中有空格的批处理文件。

    非常感谢;似乎就是这样。(有一个恼人的附加条件,即必须为要编辑的每种文件类型重新添加它。)对于最新版本的Emacs,my.cmd文件包含:
    @“C:\Program Files\Emacs-24.2\bin\EmacClient.exe”-na“C:\Program Files\Emacs-24.2\bin\runemacs.exe”%1
    Oh。我还可以验证VS2012(或者至少是我见过的RC)已经修复了这个bug。