简体   繁体   English

如何在 vsix 项目中获取和使用 Visual Studio 命令

[英]How to get and use Visual Studio command in vsix project

I have a simple Visual Studio extension project which contains a menu item and command.我有一个简单的 Visual Studio 扩展项目,其中包含一个菜单项和命令。

Here is the command execute function:这是命令执行函数:

private void Execute(object sender, EventArgs e)
{
    ThreadHelper.ThrowIfNotOnUIThread();

    string remoteDebuggerPath = @"C:\Users\mgabbay\Perforce\mgabbay_mgabbay-MOBL_3867\RemoteDebugger\RemoteDebugger.Cli\bin\Debug\netcoreapp3.0\RemoteDebugger.Cli.exe";

    System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo();
    proc.FileName = @"C:\windows\system32\cmd.exe";
    proc.Arguments = $"/c {remoteDebuggerPath}";
    proc.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;

    var process = System.Diagnostics.Process.Start(proc);

    process.WaitForExit();

    if (process.ExitCode == 0)
    {
        // Run ReAttach to process command here
    }

    process.Dispose(); 
}

I want to do some action on the command and after it's done I want to launch 'ReAttach to process' Visual studio command.我想对命令执行一些操作,完成后我想启动“ReAttach to process”Visual Studio 命令。

I located the command table on VsDbgCmdUsed.VSCT file.我在 VsDbgCmdUsed.VSCT 文件中找到了命令表。

The command guid is -> "guidVSDebugCommand" and the ID is -> id="cmdidReattach" How can I invoke this command via my extension?命令 guid 是 -> "guidVSDebugCommand" 并且 ID 是 -> id="cmdidReattach" 如何通过我的扩展调用此命令?

Many thanks.非常感谢。

You can invoke a command with a guid and id with IVsUIShell.PostExecCommand .您可以使用IVsUIShell.PostExecCommand调用带有 guid 和 id 的命令。

Or just call DTE.ExecuteCommand("Debug.ReattachtoProcess");或者直接调用DTE.ExecuteCommand("Debug.ReattachtoProcess");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在重命名 Visual Studio 项目 (VSIX) 时收到通知? - How to get notified when a Visual Studio project is renamed (VSIX)? 如何在Visual Studio 2017 VSIX C#项目中启用/禁用命令 - How can I enable/disable command in Visual Studio 2017 VSIX C# project 获取由Visual Studio在VSIX项目中存储的Nuget凭据 - Get Nuget credentials stored somewhere by Visual Studio in a VSIX project 如何创建Visual Studio 2017多模板VSIX项目? - How to create Visual Studio 2017 multi template VSIX project? VSIX Visual Studio 扩展项目模板创建 - VSIX Visual studio extension project template Creation 使用MEF和VSIX创建Visual Studio项目系统 - Creating Visual Studio project system with MEF and VSIX 在 Visual Studio 中为 Visual Studio 扩展 (VSIX) 获取选定的选项卡 - Get the selected tabs in Visual studio for Visual studio extension (VSIX) 默认情况下如何激活Visual Studio扩展VSIX C#项目的工具栏 - How to activate by default the toolbar for a Visual Studio extension VSIX C# project 如何在VSIX项目中的Visual Studio中打开生成报告摘要? - How can I open the Build Report Summary within Visual Studio in a VSIX project? 如何解决 VSIX -Visual Studio 扩展项目中 Azure.Core.dll 的参考? - How to resolve reference for Azure.Core.dll in VSIX -Visual Studio Extension project?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM