【VS拓展入门】<二> 创建拓展

通过开始第一个程序,了解一个VSPackage开发过程:

一、编写自己的第一个扩展:Hello World

1、新建VSIX项目(选择创建新的VSIX项目),并命名为SayHelloWorld


2、添加自定义命令,添加新建项 Command,并命名为SayHelloWorld.cs



3、修改Execute()方法中message的赋值为

        private void Execute(object sender, EventArgs e)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            string message = string.Format(CultureInfo.CurrentCulture, "Inside {0}.MenuItemCallback()", this.GetType().FullName);
            string title = "AAAAA";

            // Show a message box to prove we were here
            VsShellUtilities.ShowMessageBox(
                this.package,
                message,
                title,
                OLEMSGICON.OLEMSGICON_INFO,
                OLEMSGBUTTON.OLEMSGBUTTON_OK,
                OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST);
        }

string message = "Say HelloWorld !";

4、修改SayHelloWorldPackage.vsct中元素中的的内容为:

    <Buttons>
      <!--To define a menu group you have to specify its ID, the parent menu and its display priority.
          The command is visible and enabled by default. If you need to change the visibility, status, etc, you can use
          the CommandFlag node.
          You can add more than one CommandFlag node e.g.:
              <CommandFlag>DefaultInvisible</CommandFlag>
              <CommandFlag>DynamicVisibility</CommandFlag>
          If you do not want an image next to your command, remove the Icon node /> -->
      <Button guid="guidCommand1PackageCmdSet" id="Command1Id" priority="0x0100" type="Button">
        <Parent guid="guidCommand1PackageCmdSet" id="MyMenuGroup" />
        <Icon guid="guidImages" id="bmpPic1" />
        <Strings>
          <ButtonText>Say HelloWorld !</ButtonText>
        </Strings>
      </Button>
    </Buttons>

Say SayHelloWorld!

5、按F5调试,打开一个Visual Studio 实验示例。打开“工具”菜单,点击“Say SayHelloWorld!”按钮。


6、弹出提示框:

二、Visual Studio 实验示例

Visual Studio 实验示例是为了保护你的 Visual Studio 开发环境,在运行未测试的应用程序的一个调试IDE实验。
具有 VSIX 包的每个应用程序在调试模式下启动 Visual Studio 实验实例。
如果要在特定解决方案外启动 Visual Studio 的实验实例,请在命令窗口中运行以下命令:

<VS2019安装路径> Common7IDEdevenv.exe"/RootSuffix Exp


卸载实验示例中安装的扩展Vspackage有三种方法:

  1. 重置 Visual Studio 实验实例

1.在计算机的 "开始" 页上查找 "重置 Visual Studio 实验实例 "点击
2.在命令行输入:
<VS2019安装路径>"Microsoft Visual Studio 14.0VSSDKVisualStudioIntegrationToolsBinCreateExpInstance.exe" /Reset /VSInstance=14.0 /RootSuffix=Exp

  1. 卸载扩展。

单击 "工具" " > 扩展和更新" 和 "卸载"

  1. 注销 VSPackage 程序集。

在命令行输入:
<VS2019安装路径>"Microsoft Visual Studio 14.0VSSDKVisualStudioIntegrationToolsBin egpkg" /unregister <VSPackage程序集路径>

三、Visual Studio 命令表格 (.Vsct) 文件


.Vsct文件基于 XML 的语法,描述命令表用于编译器。VSPackage 可以通过 .vsct 文件将 (UI) 元素(例如,菜单、工具栏和工具窗口)添加到 Visual Studio 的用户界面。

命令表格文件内有三种基本类型的项:菜单、命令和组。

  • 菜单可以在 UI 中作为菜单、子菜单、工具栏或工具窗口公开。
  • 命令是用户可以在 IDE 中执行的过程,它们可以作为菜单项、按钮、列表框或其他控件公开。
  • 组是用于菜单和命令的容器。


每一项由描述项的定义、其相对于其他项的优先级以及修改其行为的标志指定。

每个项都有一个描述项的父项的位置。 一个项可以有多个父项,因此它可以出现在 UI 中的多个位置。

四、Command

Command命令是向 Visual Studio 添加操作和过程的方式。
命令是在 VSPackage 项目中的 .vsct 文件中定义的。当通过新建项添加Command命令,编译器会自动在.vsct文件中添加关于命令的定义。
在Command中Execute ()的方法,是Command模板中自带的触发回调,可以通过修改触发回调实现不同效果。
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值