我已经为 Visual Studio 项目创建了一个自定义命令,并且该命令在项目右键单击时可见。我想将一些参数(例如项目文件夹路径)传递给命令
EventArgs
。是否可以指定命令的参数。
这里是命令执行方法。
private void Execute(object sender, EventArgs e)
{
ThreadHelper.ThrowIfNotOnUIThread();
string message = string.Format(CultureInfo.CurrentCulture, "Inside {0}.MenuItemCallback()", GetType().FullName);
string title = "Evaluate Project Command";
// Show a message box to prove we were here
VsShellUtilities.ShowMessageBox(
package,
message,
title,
OLEMSGICON.OLEMSGICON_INFO,
OLEMSGBUTTON.OLEMSGBUTTON_OK,
OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
}
我想从命令中获取项目文件路径
EventArgs
或者有什么方法可以做到吗?
EventArgs 通常不直接包含此数据。但是,您可以通过访问 DTE
对象来检索项目详细信息,该对象代表开发环境本身。看一下这个例子:
https://github.com/NDiiong/DevAssist/blob/3a90dbbbd42c57dd74749f01e26ba30aeac68732/src/Commands/OpenBinFolderCommand.cs#L18