【发布时间】:2020-05-19 08:59:40
【问题描述】:
我想为一个项目创建一个上下文菜单命令。通过将 .vsct 文件中的 id 设置为“IDM_VS_CTXT_PROJNODE”,我设法让命令显示在右侧菜单上。我的代码示例被正确调用:
private FirstCommand(AsyncPackage package, OleMenuCommandService commandService)
{
this.package = package ?? throw new ArgumentNullException(nameof(package));
commandService = commandService ?? throw new ArgumentNullException(nameof(commandService));
var menuCommandID = new CommandID(CommandSet, CommandId);
var menuItem = new MenuCommand(StartNotepad, menuCommandID);
commandService.AddCommand(menuItem);
}
private void StartNotepad(object sender, EventArgs e)
{
//example code
/*var process = new Process();
process.StartInfo.FileName = "Notepad.exe";
process.Start();*/
}
我现在需要有关项目的信息(目录、名称等)。但是所有关于 vsix 项目的例子都只展示了如何获取当前项目(我什至不知道那是不是我点击的项目)或者对我不起作用。他们都老了,我不知道他们目前是否是最佳实践。
所以我的问题是如何在 StartNotepad() 中获取有关项目的信息? 感谢您的帮助。
【问题讨论】:
标签: c# visual-studio visual-studio-extensions