Tôi đã có một gói mà tôi đã tạo và tôi muốn thêm một trình đơn vào menu ngữ cảnh Code Window
.Tại sao menu ngữ cảnh của vspackage của tôi không hiển thị
Sau một chút tìm kiếm, tôi đã tìm thấy một số bài viết giải thích cách thực hiện. Vấn đề là, tôi không thể có được nó làm việc ....
Dưới đây là tờ khai của tôi trong vsct
file:
<Button guid="guidDALGeneratorPkgCmdSet" id="cmdidDataFlow" priority="0x0100" type="Button">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/>
<CommandFlag>DynamicVisibility</CommandFlag>
<Strings>
<CommandName>cmdidDataFlow</CommandName>
<ButtonText>Show data flow</ButtonText>
</Strings>
</Button>
và những biểu tượng:
<GuidSymbol name="guidDALGeneratorPkgCmdSet" value="{d3269a87-a721-49a5-800b-0464fbdfd313}">
<IDSymbol name="MyMenuGroup" value="0x1020" />
<IDSymbol name="cmdidDALGenerator" value="0x0101" />
<IDSymbol name="cmdidDataFlow" value="0x0102" />
</GuidSymbol>
và đây là cách Tôi thêm thực đơn của mình vào lớp Package
của mình:
CommandID dataFlowCID = new CommandID(GuidList.guidDALGeneratorPkgCmdSet, (int)PkgCmdIDList.cmdidDataFlow);
OleMenuCommand dataFlowMenu = new OleMenuCommand(showDataFlow, dataFlowCID);
dataFlowMenu.BeforeQueryStatus += new EventHandler(dataFlowMenu_BeforeQueryStatus);
mcs.AddCommand(dataFlowMenu);
Tôi đang làm gì sai ở đây? Tôi phải bỏ lỡ một cái gì đó bởi vì hầu hết các mẫu (và SO trả lời về đề tài này) cho thấy thêm một menu như vậy trong một gói .....
Những gì tôi đã cố gắng:
- làm cho một nhóm đầu tiên sau đó thêm trình đơn của tôi trong nhóm đó: không làm việc
- kiểm tra nếu tôi sử dụng GUID phải (với this trick)
- sử dụng
IDG_VS_MENU_CONTEXTMENUS
thay vìIDM_VS_CTXT_CODEWIN
(sau khi xem bài này: Using vsx how do you create a sub menu with commands?) - cho cùng cha mẹ như tôi nu mà thực sự làm việc để trình đơn thứ hai, vẫn không hiển thị ....
- rất nhiều googling không thành công về vấn đề của tôi ...
Cũng như bạn có thể thấy tôi sử dụng sự kiện BeforeQueryStatus
, nhưng nó không bao giờ bị sa thải ...
Were bạn đã bao giờ có thể tìm ra giải pháp cho vấn đề của bạn. Tôi đang đối mặt với cùng một vấn đề –
Tôi xin lỗi vì tôi không ... Đó là một phần nhỏ của một dự án lớn nên tôi đã tìm ra cách khác để hoàn thành những gì tôi cần. Bạn đã thử những gì @Marcel đề xuất? – ppetrov
Có, Nó tạo ra một Nút trên ngữ cảnh Menu không phải là Menu trên Menu ngữ cảnh. Vì vậy, nó không hữu ích. Yêu cầu của tôi là tạo một Menu trên menu ngữ cảnh. –