【问题标题】:Visual Studio Addin not showingVisual Studio 插件未显示
【发布时间】:2013-09-23 08:32:44
【问题描述】:

我已经创建了非常简单的 Visual Studio 插件,就像 JP Booodhoo 的这篇文章一样。

http://codebetter.com/jpboodhoo/2007/09/04/macro-to-aid-bdd-test-naming-style/

插件在调试中工作,所以如果我在插件解决方案中按 F5,然后打开一个解决方案,插件就会显示在工具中。但是,它在不调试时不显示。即在我部署插件后,关闭并重新打开我的解决方案。

我错过了什么吗?

部署方面,我按照本文的部署步骤,部署到C:\Users[你的用户名]\Documents\Visual Studio 2012\Addins

Alternative to macros in Visual Studio 2012

public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
        {
            handled = false;
            if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
            {
                if(commandName == "KinghamExtensions.Connect.KinghamExtensions")
                {


                    var selection = (TextSelection)(_applicationObject.ActiveDocument.Selection);
                    selection.SelectLine();
                    if (selection.Text == "") return;

                    var prefix = "public void ";
                    var index = selection.Text.IndexOf(prefix);
                    prefix = selection.Text.Substring(0, index) + prefix;
                    var description = selection.Text.Replace(prefix, String.Empty);

                    selection.Text = prefix + description.Replace(" ", "_").Replace("'", "_");
                    selection.LineDown();
                    selection.EndOfLine();
                    handled = true;
                }
            }
        }

正如我所说,在调试中从 vs 运行插件时代码可以工作,但不会显示在工具菜单中。

此外,它不会像 Git Extensions 插件那样显示在键盘选项中,这意味着我无法分配键绑定。

有什么想法吗?

【问题讨论】:

    标签: visual-studio-2012 macros add-in


    【解决方案1】:

    您提供的信息很难回答,但首先您应该检查以下内容:

    您的插件应该出现在工具>插件管理器...

    如果你在它之前设置了第一个复选框,那么它应该被加载。

    如果不是并且您收到错误消息,请单击否,否则 Studio 将重命名已部署的 .AddIn 文件。 您应该检查您的发布程序集是否位于 Assembly 元素引用的位置,如下所示:<Assembly>C:\Users[your user name]\Documents\Visual Studio 2012\Projects\MyAddin1\MyAddin1\bin\MyAddin1.dll</Assembly>
    在 Visual Studio 部署到您在问题中提到的 AddIn 文件夹的 .AddIn 文件中。

    如果是这样,并且错误仍然存​​在,您应该在加载项中添加一些日志(Windows MessageBox 可以) 并将其放置到 OnConnection 方法中。错误可能出现在 OnConnection 在 IDE 尝试加载它时引发异常,或者 AddIn 文件中的 FullClassName 元素引用了 Connection 类以外的其他名称。

    如果您没有收到错误并且您的 OnConnection 正常运行,那么它可能是在您的代码添加命令时引发的异常, - 如果您执行的方式与在 try/ 中生成的加载项模板中的方式相同catch 块- 你需要解决它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多