Visual Studio扩展开发(VS插件)

Visual Studio扩展开发

  • 前言
  • 一、工具
  • 二、VS插件目标功能
  • 二、研发步骤
    • 1.创建VSIX Project
    • 2.自定义生成VSIX描述、版本、及作者
    • 3.创建第一个command命令
    • 4.创建一个对话框类
    • 4.设置命令名称
    • 5.执行命令过程
    • 6.设计对话框、获取解决方案路径及保存路径到解决方案下的txt中
  • 总结


前言

随着安装程序的日渐增大、版本的不断增多,调试程序需要以安装目录为底,把生成带调试信息的dl拷贝到调试环境,变得越来越混乱,同时研发人员对Visual Studio的个性化需求也不断增加,因此有必要开发一些VS插件(*.vsix),用于解决这些问题,以提高研发效率。


一、工具

1、VS2019

2、工具负荷两个(SDK)
a、Visual Studio 扩展开发
b、.NET桌面开发

Visual Studio扩展开发(VS插件)_第1张图片

二、VS插件目标功能

使用VS快捷键,直接调出一个对话框,对话框可完成保持一个路径到解决方案下的txt文件中。

二、研发步骤

1.创建VSIX Project

Visual Studio扩展开发(VS插件)_第2张图片

Visual Studio扩展开发(VS插件)_第3张图片
根据需要创建自己的项目名称、项目路径以及解决方案。
注意:此处的项目名与最后插件上的命令按钮名称无关。

2.自定义生成VSIX描述、版本、及作者

选择.Vsixmanifest清单文件,自行修改
Visual Studio扩展开发(VS插件)_第4张图片

3.创建第一个command命令

右键单击项目(而非解决方案)。 在上下文菜单上,选择“添加”,然后选择“新建项”
Visual Studio扩展开发(VS插件)_第5张图片根据图中1、2、3、4步骤自定义名称。

4.创建一个对话框类

创建对话类方式与C#桌面开发程序一样,此处不再细述。
Visual Studio扩展开发(VS插件)_第6张图片

4.设置命令名称

解决方案中找到.VSCT文件
Visual Studio扩展开发(VS插件)_第7张图片设置好后,可以直接启动调试程序,VS将会模拟启动一个VS,在工具中将可以看到自己创建的命令按钮如图

5.执行命令过程

Visual Studio扩展开发(VS插件)_第8张图片如果所示,调试程序过程中,将在模拟vs"工具"中看到命令按钮,执行按钮后即进入步骤3创建的.cs中,如果3处

6.设计对话框、获取解决方案路径及保存路径到解决方案下的txt中

对话框
a.启动时,解决方案中显示解决方案路径
b.点击保存,解决方案路径保存到解决方案路径下的Sln.txt中
在这里插入图片描述

获得解决方案路径

        using EnvDTE;
        using EnvDTE80;
        using Microsoft.VisualStudio.Shell;
        using System.IO;

        private string GetSlnPath()
        {
            //ThreadHelper.ThrowIfNotOnUIThread();
            var dte2 = Package.GetGlobalService(typeof(DTE)) as DTE2;
            var solution = dte2.Solution;
            var SolutionPath = Path.GetDirectoryName(solution.FullName);//解决方案路径
            return SolutionPath;
        }

在对话框中显示

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text= GetSlnPath();
        }
                

点击确定保存解决方案路径到解决方案路径下的Sln.txt中

        private void button1_Click(object sender, EventArgs e)
        {
            string sSlnPath = GetSlnPath();                           //解决方案路径
            if (sSlnPath.Substring(sSlnPath.Length - 1, 1) == "\\") 
                sSlnPath.Remove(sSlnPath.Length - 1, 1);              //如果最后一位是\,则删除
            string sFileName = sSlnPath + "\\Sln.txt";                //拼出文件全路径

            StreamWriter streamWriter = new StreamWriter(sFileName, true);
            streamWriter.Write(GetSlnPath());
            streamWriter.Close();

        }

最后启动程序看执行功能查看
Visual Studio扩展开发(VS插件)_第9张图片


总结

本文主要讲述创建VS插件的一般过程.
创建一个启动命令--------执行命令----------
本文接口仅涉及到获取解决方案路径办法.想了解其他接口,可查阅后续文章.

你可能感兴趣的:(z3:VS插件,visual,studio,c#,其他,经验分享)