在IVsHierarchy接口为Visual Studio包的方法有Unused0,Unused1,Unused2,Unused3并Unused4在下面的描述:
Adds new methods without recompiling or breaking binary compatibility.
Run Code Online (Sandbox Code Playgroud)
有人可以更详细地解释这一点.这些方法如何帮助完全?
如何从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
我猜想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
我按照定义工具窗口工具栏这个步行通过描述。
将新按钮添加到工具栏,并将它们连接到我的包中的代码,没有问题并且工作正常(所以我不是在寻找有关如何添加简单按钮的信息)。我看到还有其他按钮类型,例如SplitDropDown和MenuButton。两者都完全符合我的要求。但是我找不到任何关于如何以正确的方式定义子菜单的信息,我所有的实验都失败了。
这是我的按钮定义:
<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按钮的定义,有一个子菜单,会是什么样子?
我注意到Visual Studio 2012的以下行为:我创建了VS2012 Package Project(来自SDK).当我编译并运行它时,会启动一个实验性VS实例,因此我可以测试实现的包.但是,如果我从实验VS实例(使用Tools -> Extensions and Updates -> Uninstall)卸载包,那么我尝试重新编译并重新运行包,我得到编译错误,没有输出和错误列表中显示的任何错误.因此,再次开发我的包是不可能的.每个新创建的VS2012包项目都可以重现此问题.
总之,我无法在实验VS实例中运行我的包,因为我以前卸载过它.它似乎是一个包元数据缓存问题.我该如何解决这个问题?
编辑:
重现此问题的步骤:
Tools -> Extensions and Updates并卸载刚刚创建的扩展.此时,再次使用此Package Project无法运行VS Experimental实例.
visual-studio vsix visual-studio-extensions visual-studio-2012 visual-studio-package
我正在编写一个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
我开始尝试新的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上安装它?
干杯!
我尝试将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实现相同的原生方式?
我已经从Visual Studio 2017工具->“扩展和更新”中成功下载了RDLC扩展,其显示的消息为
“此扩展已计划安装”。
所以我已经重新启动了VS2017(VS Professional 2017版本15.8.6),但是它仍然显示相同的消息,并且VS2017中似乎仍未添加RDLC扩展。
我也同时使用菜单和VS中的关闭窗口按钮(X)退出了VS,但仍然没有运气。