【问题标题】:Adding editors in Visual Studio "Open With..." dialog box在 Visual Studio“打开方式...”对话框中添加编辑器
【发布时间】:2014-05-03 08:29:55
【问题描述】:

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

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

  1. 右键单击我的 .bat 文件
  2. 已选择打开方式...
  3. 点击添加
  4. 将程序设置为“cmd /c”和一些友好名称
  5. 接受此对话框。
  6. 出现一个新窗口,告诉我它无法验证编辑器路径(因为 additinoal 参数,因为如果我删除它,它会起作用)
  7. 我的新编辑器在窗口中。

当我再次打开相同的 Open with... 对话框时,我的 编辑器 不存在。

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

【问题讨论】:

    标签: visual-studio batch-file


    【解决方案1】:

    好的。我自己设法解决了这个问题。
    正如我 found on the internet 这是一个 Visual Studio 错误,所以它不记得这些类型的编辑器(参数化的可执行文件名)。但尽管如此。解决办法是这样的:

    1. 创建一个单独的批处理文件,即 ExecuteBatch.cmd
    2. 把这段代码放进去:

      @cmd /c %1

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

    瞧。 问题已解决。详细说明见in this blog post

    【讨论】:

    • 非常感谢;这似乎做到了。 (烦人的附带条件是必须为您要编辑的每种文件类型重新添加它。)对于最新版本的 Emacs,我的 .cmd 文件包含:@"C:\Program Files\emacs-24.2\bin\emacsclientw.exe" -na "C:\Program Files\emacs-24.2\bin\runemacs.exe" %1
    • 哦。我还可以验证 VS2012(或至少我见过的 RC)已经修复了这个错误。
    【解决方案2】:

    根据here的建议,你也可以使用“打开方式”PowerShell,不用担心任何参数。

    该链接的说明是:

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

    1. 在解决方案资源管理器中右键单击批处理文件
    2. 从上下文菜单中选择“打开方式...”
    3. 点击“添加...”
    4. 在“程序名称”文本框中,指定 PowerShell 的完整路径 (“\Windows\System32\WindowsPowerShell\v1.0\powershell.exe”)
    5. 在“友好名称”文本框中输入“PowerShell”
    6. 选择“设为默认值”
    7. 点击确定

    现在,当您双击您的批次时 解决方案资源管理器中的文件,它将 脱壳到 powershell 并执行。

    为我工作。

    【讨论】:

      【解决方案3】:

      扩展 Robert 和 Rustam 的答案,这里是我用作“打开方式”程序的 RunBatch.bat 脚本,用于从 Visual Studio 运行批处理文件:

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

      第一行导航到文件的文件夹,第二行运行文件。

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

      【讨论】:

        【解决方案4】:

        我刚刚告诉 Visual Studio 使用 Windows 资源管理器打开 .bat 文件;)

        【讨论】:

          【解决方案5】:

          补充建议:在VS2012中你可以直接使用cmd.exe。

          但是!缺点是您的 bat 文件将在 VS 主文件夹中开始,而不是在您的灵魂文件夹中。这就是我使用this recipe 的原因,但对其进行了一点扩展。我的 .bat 文件是:

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

          语法解释here

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-26
            • 2012-07-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多