标签: visual-studio-extensions

Visual Studio扩展接口中未使用的方法

IVsHierarchy接口为Visual Studio包的方法有Unused0,Unused1,Unused2,Unused3Unused4在下面的描述:

Adds new methods without recompiling or breaking binary compatibility.
Run Code Online (Sandbox Code Playgroud)

有人可以更详细地解释这一点.这些方法如何帮助完全?

.net com visual-studio visual-studio-extensions

4
推荐指数
1
解决办法
141
查看次数

获取Visual Studio 2010扩展中的默认项目目录

如何从Visual Studio 2010扩展中获取默认项目创建目录?默认情况下,此目录为:

C:\Users\<username>\Documents\Visual Studio 2010\Projects
Run Code Online (Sandbox Code Playgroud)

我猜这是通过工具 - >选项窗口完成的,但我不知道如何通过SDK获得此功能.

乍一看,以下看起来应该让我接近:

DTE2 dte = CType(GetService(typeof(SDTE)), DTE2);
Object props = dte.Properties("Projects and Solutions", "General");
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

System.Runtime.InteropServices.COMException was unhandled by user code
ErrorCode=-2147352565
Message=Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2010 visual-studio-sdk visual-studio-2010-sp1 visual-studio-extensions

4
推荐指数
1
解决办法
5889
查看次数

Visual Studio 2010文档映射扩展

没有看到Visual Studio 2010的扩展,它使文档映射像这样(在右侧):

在此输入图像描述

Visual Studio 2010是否有扩展文档映射?

c# visual-studio visual-studio-extensions

4
推荐指数
1
解决办法
1362
查看次数

转到在Visual Studio中覆盖方法定义

我猜想Visual Studio中没有内置的功能,但是如果有人可以将我定向到可以做到这一点的扩展(如果可能的话),我会很高兴。

    public class Program
{
    static void Main(string[] args)
    {
        Annoy annoy = new Tubo();
        annoy.DoTubo();
    }
}

public class Annoy
{
    public virtual void DoTubo()
    {
        Console.WriteLine("Annoy.DoTubo()");
    }
}

public class Tubo : Annoy
{
    public override void DoTubo()
    {
        Console.WriteLine("Tubo.DoTubo()");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我选择F12(转到定义)时,carret导航至Annoy.DoTubo()而不是Tubo.DoTubo()
我发现了相似的目的(仅适用于类impelementing接口,而不是类继承其他类)插件这里
我想ReSharper和VisualAssist具有这种功能,但是我正在寻找免费的(如果有的话)。

c# keyboard-shortcuts visual-studio-2010 visual-studio-extensions

4
推荐指数
2
解决办法
6022
查看次数

如何为 *.vsct 文件中的工具栏定义 SplitDropDown 或 MenuButton?

我按照定义工具窗口工具栏这个步行通过描述

将新按钮添加到工具栏,并将它们连接到我的包中的代码,没有问题并且工作正常(所以我不是在寻找有关如何添加简单按钮的信息)。我看到还有其他按钮类型,例如SplitDropDownMenuButton。两者都完全符合我的要求。但是我找不到任何关于如何以正确的方式定义子菜单的信息,我所有的实验都失败了。

这是我的按钮定义:

<Button guid="guidVsCmdSet" id="cmdIdSplitDowndown" priority="0x106" type="SplitDropDown">
  <Parent guid="guidVsCmdSet" id="VsToolbarGroup" />
  <Icon guid="guidImages" id="bmpPic2" />
  <CommandFlag>IconAndText</CommandFlag>
  <Strings>
    <CommandName>cmdIdSplitDropdown</CommandName>
    <ButtonText>Goto Next</ButtonText>
  </Strings>
</Button>
Run Code Online (Sandbox Code Playgroud)

我想添加一个SplitDropDown具有一些预定义/静态子项的按钮。我想按钮的视觉外观看起来像 Visual Studio 的“向后导航”按钮。这就是我正在努力实现的目标。

有谁知道一个SplitDropDown按钮的定义,有一个子菜单,会是什么样子?

sdk vsx vsix visual-studio-extensions visual-studio-2012

4
推荐指数
1
解决办法
1288
查看次数

如何从Visual Studio 2012中永久删除扩展?

我注意到Visual Studio 2012的以下行为:我创建了VS2012 Package Project(来自SDK).当我编译并运行它时,会启动一个实验性VS实例,因此我可以测试实现的包.但是,如果我从实验VS实例(使用Tools -> Extensions and Updates -> Uninstall)卸载包,那么我尝试重新编译并重新运行包,我得到编译错误,没有输出和错误列表中显示的任何错误.因此,再次开发我的包是不可能的.每个新创建的VS2012包项目都可以重现此问题.

总之,我无法在实验VS实例中运行我的包,因为我以前卸载过它.它似乎是一个包元数据缓存问题.我该如何解决这个问题?

编辑:

重现此问题的步骤:

  1. 创建新的Visual Studio 2012包项目(必须安装VS2012 SDK).
  2. 编译并运行项目.应该启动VS实例.
  3. 在VS Experimental实例中,转到Tools -> Extensions and Updates并卸载刚刚创建的扩展.
  4. 关闭VS实验实例.
  5. 尝试再次编译和运行Package项目.应该有编译或启动错误,但输出和错误列表中没有信息.

此时,再次使用此Package Project无法运行VS Experimental实例.

visual-studio vsix visual-studio-extensions visual-studio-2012 visual-studio-package

4
推荐指数
1
解决办法
5769
查看次数

从Visual Studio扩展访问当前的Microsoft帐户

我正在编写一个VS扩展,它将需要与服务器通信并识别用户,并且我认为,如果可能的话,因为此扩展将是连接到服务器的唯一客户端,所以使用Visual Studio对Microsoft帐户的内置支持可以比实施我自己的帐户管理基础架构更有意义。

首先,由于Visual Studio开发人员可以使用各种有用的API,因此人们可能会认为获取当前用户的信息会很容易。但是,实际上似乎没有任何明显的API可用于访问帐户。我在这里检查,没有列出任何相关服务(“个人资料”服务仅允许您读取/写入为当前用户存储的设置)。

有谁知道(相对)简单的方法来从Visual Studio扩展访问Microsoft帐户吗?

编辑

我尝试了哈迪·布雷斯(Hadi Brais)的建议,但起初似乎很奏效(我成功检索到了信息);但是,每次Visual Studio之后都会崩溃30秒。我注释掉了与注册表交互的行,并用变量的静态值替换了它们,然后崩溃停止了。显然,访问Visual Studio的注册表项导致崩溃。我什至尝试了using语句和其他保护措施,但是似乎没有一种方法可以从扩展中安全地访问Visual Studio注册表项。那么,有谁知道在不崩溃Visual Studio的情况下可用于检索此信息的任何正式API

c# visual-studio visual-studio-extensions microsoft-account visual-studio-2015

4
推荐指数
1
解决办法
406
查看次数

添加Objective C语法突出显示到Visual Studio

我开始尝试新的iOS版Windows Bridge(Project Islandwood).样本工作正常,但根本没有代码突出显示.我在bin文件夹中找到了一个名为"objc-syntax-highlighting"的VS扩展,并想知道这是否会增加代码突出显示.但是,当我尝试运行它时,它说

VSIXInstaller.NoApplicableSKUsException:此扩展程序无法安装在任何当前安装的产品上.

我在错误日志中找到以下行

8/7/2015 2:19:21 PM - 支持的产品:2015年8月7日下午2:19:21 - Microsoft.VisualStudio.Pro 8/7/2015 2:19:21 PM - 版本:[12.0]

有没有机会在VS 2015上安装它?

干杯!

visual-studio visual-studio-extensions winobjc

4
推荐指数
1
解决办法
1128
查看次数

将鼠标侧按钮绑定到VisualStudio操作

我尝试将XButton 1和2(鼠标的侧面按钮)重定向到特定的Visual Studio操作.

当我按下XButton1时,我想编译项目/构建它.F6默认情况下,此操作是绑定的.

当我按下XButton2时,我想在代码和设计视图(WinForms)之间切换.这是必然的F7.

在使用Visual Studio内置工具多次尝试后,我使用AutoHotKey创建了以下脚本:

XButton2:: 
IfWinActive Microsoft Visual Studio
{ 
  Send {F7}

  return 
}


XButton1:: 
IfWinActive Microsoft Visual Studio
{ 
  Send {F6}

  return 
} 
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有人知道使用Visual Studio 2015实现相同的原生方式?

.net c# visual-studio winforms visual-studio-extensions

4
推荐指数
1
解决办法
314
查看次数

Visual Studio中的消息“此扩展已计划安装”

我已经从Visual Studio 2017工具->“扩展和更新”中成功下载了RDLC扩展,其显示的消息为

“此扩展已计划安装”。

所以我已经重新启动了VS2017(VS Professional 2017版本15.8.6),但是它仍然显示相同的消息,并且VS2017中似乎仍未添加RDLC扩展。

我也同时使用菜单和VS中的关闭窗口按钮(X)退出了VS,但仍然没有运气。

扩展信息

visual-studio-extensions visual-studio-2017

4
推荐指数
2
解决办法
1699
查看次数