无法使用 VSIX 社区工具包将自定义命令添加到 Visual Studio 2022 中项目的上下文菜单

问题描述 投票:0回答:1

我正在尝试向项目的上下文菜单添加上下文菜单。在 Visual Studio 中右键单击项目文件打开的文件

我的 VSCT 文件如下所示

<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <Extern href="stdidcmd.h"/>
    <Extern href="vsshlids.h"/>
    <Include href="KnownImageIds.vsct"/>
    <Include href="VSGlobals.vsct"/>

    <Commands package="AnalyzerExtension">
        <Groups>
            <Group guid="AnalyzerExtension" id="MyMenuGroup" priority="0x0001">
                <Parent guid="VSMainMenu" id="ItemNode"/>
            </Group>
        </Groups>

        <!--This section defines the elements the user can interact with, like a menu command or a button
        or combo box in a toolbar. -->
        <Buttons>
            <Button guid="AnalyzerExtension" id="MyCommand" priority="0x0100" type="Button">
                <Parent guid="AnalyzerExtension" id="MyMenuGroup" />
                <Icon guid="ImageCatalogGuid" id="StatusInformation" />
                <CommandFlag>IconIsMoniker</CommandFlag>
                <Strings>
                    <ButtonText>My Command</ButtonText>
                    <LocCanonicalName>.AnalyzerExtension.MyCommand</LocCanonicalName>
                </Strings>
            </Button>
        </Buttons>
    </Commands>

    <CommandPlacements>
        <CommandPlacement guid="AnalyzerExtension" id="MyCommandPlacement" priority="0x0001" >
            <Parent guid="VSMainMenu" id="ItemNode"/>
        </CommandPlacement>
    </CommandPlacements>

    <Symbols>
        <GuidSymbol name="AnalyzerExtension" value="{5a8a77f2-be64-422c-9516-32e4cd00a008}">
            <IDSymbol name="MyMenuGroup" value="0x0001" />
            <IDSymbol name="MyCommand" value="0x0100" />
            <IDSymbol name="MyCommandPlacement" value="0x0200" />
        </GuidSymbol>
    </Symbols>
</CommandTable>

我希望在为特定项目单击命令时添加代码分析代码

visual-studio-2022 vsix
1个回答
0
投票

Group 应放置在 ProjectNode 菜单下,而不是 ItemNode 菜单下。

   <Groups>
        <Group guid="AnalyzerExtension" id="MyMenuGroup" priority="0x0001">
            <Parent guid="VSMainMenu" id="ProjectNode"/>
        </Group>
    </Groups>
© www.soinside.com 2019 - 2024. All rights reserved.