以编程方式在 Visual Studio 2017 的“外部工具”菜单中添加一个条目

lun*_*i64 3 automation envdte visual-studio-2017

有人知道是否可以使用 EnvDTE 或任何其他方法向 Visual Studio 2017 的“外部工具”菜单添加条目?到目前为止,我发现的唯一一件事是添加一些似乎不适用于 VS2017 的注册表项。

lun*_*i64 6

回答我自己的问题...

来自 Axel Kemper 对问题的评论中的链接最终将我带到了这个SO 答案,它提供了一种将条目添加到外部工具列表的非常简单的方法。

基本上你在IDE中生成你需要的工具并使用“工具|导入和导出设置”将相应的设置导出到一个xml文件中。就我而言,我得到以下信息:

<UserSettings>
  <ApplicationIdentity version="15.0"/>
  <ToolsOptions/>
  <Category name="Environment_Group" RegisteredName="Environment_Group">
    <Category name="Environment_ExternalTools" Category="{E8FAE9E8-FBA2-4474-B134-AB0FFCFB291D}" Package="{DA9FB551-C724-11d0-AE1F-00A0C90FFFC3}" RegisteredName="Environment_ExternalTools" PackageName="Visual Studio Environment Package">
      <ExternalTools>
        <UserCreatedTool>
          <Arguments>upload</Arguments>
          <CloseOnExit>true</CloseOnExit>
          <Command>c:\toolchain\make\make.exe</Command>
          <InitialDirectory>$(ProjectDir)</InitialDirectory>
          <IsGUIapp>false</IsGUIapp>
          <NameID>0</NameID>
          <Package>{00000000-0000-0000-0000-000000000000}</Package>
          <PromptForArguments>false</PromptForArguments>
          <SaveAllDocs>true</SaveAllDocs>
          <Title>neuteensy</Title>
          <Unicode>false</Unicode>
          <UseOutputWindow>true</UseOutputWindow>
          <UseTaskList>false</UseTaskList>
        </UserCreatedTool>
      </ExternalTools>
    </Category>
  </Category>
</UserSettings>
Run Code Online (Sandbox Code Playgroud)

如有必要,可以轻松地手动或以编程方式调整文件中的设置。

您可以将文件传递给您的用户进行手动导入,也可以使用 envDTE 自动导入它,如链接的答案所示。