标签: visual-studio-extensions

是否有"最喜欢的"文件夹和文件的Visual Studio扩展?

我正在开发一个包含多个类库,数据库模型和ASP .NET MVC网站项目的中型项目.但是,即使解决方案中的项目少于15个,我经常会发现自己正在折叠和扩展无限的文件夹以查找某个类或视图.

虽然寻找类主要通过Resharper 类型导航功能解决,但我经常想在MVC项目中切换到某个视图.我不记得文件名,它不会解决这个问题或者是因为有与相同的文件名多视图(例如Message\ViewSingle.cshtml,Product\ViewSingle.cshtml).

我更想要的是能够"喜欢"某些文件,项目或文件夹,以便它们显示在单独的类似Solution Explorer的窗口上以便快速访问.

是否有这样的扩展(免费)?

更新

@samy 指出,Sergey VlasovFavorite Documents扩展允许通过菜单栏快速访问,我通常倾向于隐藏它,并且更喜欢可停靠的窗口解决方案,所以我仍然在寻找.我写了谢尔盖,以了解他是否打算使用这个功能.

更新(8月4日)

我刚刚收到谢尔盖的一封信,他给我指的是最喜欢的文件1.1有一个专门的窗口.所以我接受samy的回答.

projects-and-solutions visual-studio-2010 visual-studio solution-explorer visual-studio-extensions

19
推荐指数
1
解决办法
2661
查看次数

如何从包中设置"中断所有异常"

我想做一个扩展,以快速切换调试器中的CLR异常.
我尝试了几种方法,但都不令人满意.

这是我已经尝试过的:

  1. ExceptionSettings.SetBreakWhenThrown(MSDN)
    这非常慢(请参阅此Connect问题).我已经尝试了在抛出异常时问题" Toggle"Break的方法."使用宏或键盘快捷方式 "并且似乎都不可靠地工作:在大多数情况下只有顶级复选框被设置,并且在调试时它实际上不会中断异常.

  2. 调用DTE.ExecuteCommand("Debug.Exceptions")显示窗口,然后在它之前调用SetWindowsHookEx(MSDN)在它出现之前拦截它(这样用户就没有闪光).这似乎是可能的,因为我能够拦截消息并得到HWND.但它似乎很hacky并且窗口不是那么容易操作(它有一些奇怪的组合SysListView32与自定义复选框和SysTreeView32).所以我将它作为最后的机会解决方案.

  3. 以某种方式获取IDebugEngine2(MSDN)托管代码并在调试会话开始时调用IDebugEngine2.SetException(MSDN).这似乎是可能的,但我在获取调试引擎时遇到问题.我尝试过在MSDN论坛IVsLoader描述的方法,但我很确定它给了我一个与调试会话无关的新实例.

    我在这里也问过这个问题:" Visual Studio:如何从VS包中获取IDebugEngine2(除了IVsLoader) ",但没有得到解决方案.

    我已经尝试使用IVsDebugger.AdviseDebugEventCallback(MSDN),并通过实施的IDebugEventCallback2(MSDN),但我总是得到nullpEngine(没有IDebugEngineCreateEvent2任何).

    我得到IDebugSessionCreateEvent2(没有文档?)并且可以从中得到IDebugSession2它,但是它的SetException调用总是给我一个HRESULT错误的参数,所以我可能会在这里遗漏一些东西(调用SetException引擎从IVsLoader给出好的,只是不起作用).

是否有其他方法比那些方法更好或者我错过了现有的方法?


更新/注意:
如果你发现这个问题,因为你想要一个更快的"打破所有异常",我已经做了一个免费扩展,你可以从Visual Studio Gallery:Exception Breaker.

.net visual-studio-2010 visual-studio visual-studio-debugging visual-studio-extensions

19
推荐指数
1
解决办法
1166
查看次数

在Visual Studio 2010 Express中安装扩展或加载项的限制

我安装了MSVC++ 2010 Express并尝试确定可以安装哪些扩展(vsix).Extension Manager中有一些扩展(在线图库部分).所有这些都来自Visual Studio Gallery.为了确保我安装了一些扩展.因此,不能说Visual Studio的快速版本不支持安装Extensions或Add-Ins.起初我决定Visual Studio Gallery是允许扩展的地方.我从那里下载PowerConsole扩展并尝试安装它.但是,我收到了以下文字的消息框:

Visual Studio Extension Installer
此扩展不能安装在任何当前安装的产品上.

问题是,在Visual Studio 2010 Express中安装扩展的确切限制是什么?

visual-studio-2010 visual-studio-express visual-studio vsix visual-studio-extensions

17
推荐指数
1
解决办法
1万
查看次数

Visual Studio SDK - 处理文件保存事件

我希望在具有特定扩展名的文件保存在visual studio中后运行脚本.我想知道保存文件的事件处理程序在Visual Studio SDK API中的位置.

任何人都可以指出我在Visual Studio扩展的API文档方面的正确方向.我找到了Visual Studio SDK参考,但某些方向或示例示例会有所帮助.

我想创建通常在构建项目时生成的部分设计器文件(Mono for Android Project),我的文件将具有临时值,但仅用于启用智能感知而不构建整个项目.我现在可以手动运行该进程,但是我希望在保存.xml或.axml文件时触发该脚本.

它认为我需要使用IVsRunningDocTableEvents.OnAfterSave方法,但我不确定如何获取正在运行的doc表的句柄,或者我如何过滤我想要运行事件的文件.这是我第一次尝试使用Visual Studio SDK.

visual-studio-2010 visual-studio-sdk visual-studio-extensions

17
推荐指数
1
解决办法
6353
查看次数

如何从VSPackage订阅解决方案和项目事件

我正在通过VSPackage为Visual Studio开发语言服务.每当从解决方案的项目中添加/删除文件时,我都需要更新我的解析数据.

我想订阅解决方案和项目活动.

我尝试如下,但是当我向解决方案添加/删除项目或向项目添加/删除项目时,这些事件都不会被触发.

DTE dte = (DTE)languageService.GetService(typeof(DTE));
if (dte == null)
    return;

((Events2)dte.Events).SolutionEvents.ProjectAdded += SolutionEvents_ProjectAdded;
((Events2)dte.Events).SolutionEvents.ProjectRemoved += SolutionEvents_ProjectRemoved;
((Events2)dte.Events).ProjectItemsEvents.ItemAdded += ProjectItemsEvents_ItemAdded;
((Events2)dte.Events).ProjectItemsEvents.ItemRemoved += ProjectItemsEvents_ItemRemoved;
Run Code Online (Sandbox Code Playgroud)

从VSPackage订阅这些事件的最佳方法是什么?任何帮助赞赏!

mpf vspackage visual-studio-extensions

16
推荐指数
3
解决办法
4980
查看次数

Visual Studio Productivity Power Tools配置设置

我试图弄清楚Visual Studio Productivity Power Tools设置的存储位置.我最近搬到了一个新的visual studio实例,我丢失了所有的Power Tools正则表达式选项卡着色设置.它们显然不是正常VS2010设置文件的一部分,因为我已经导出并导入了它.任何帮助都会很棒!

visual-studio-2010 visual-studio-extensions

16
推荐指数
1
解决办法
3124
查看次数

更新私有图库原子,以便VS显示扩展更新可用

我正在使用Visual Studio Private Gallery向我的公司发布内部VSIX.我的VSIX出现在Visual Studio 2012中"扩展和更新"的"在线"部分,我可以从那里安装它: VSIX可从

但是,一旦安装完毕,我无法弄清楚如何更新我的扩展程序,使其显示在同一对话框的"更新"部分中,也无法弄清楚如何让Visual Studio通知我有可用的更新. VSIX不会出现在

我尝试了以下各种组合:

  1. 增加VSIX本身和atom.xml中的版本号
  2. updated标记内的entry标记更改为当前日期和时间
  3. updated标记内的feed标记更改为当前日期和时间
  4. published标记内的entry标记更改为当前日期和时间

我的期望是1,2和3的组合应足以表明有更新,但无济于事.本指南似乎证实了我的期望:

  • 已发布 - 添加扩展的日期/时间.
  • 更新 - 上次更新扩展程序的日期/时间.

我也同时尝试了所有4个,也无济于事.

我从Apache实例服务于库,我已经确认它正在为atom.xml设置正确的Last-Modified标头.

是否有一些Visual Studio检查更新的时间间隔?打开"扩展和更新"的"更新"部分是否会强制Visual Studio检查?

这是我的atom.xml的内容:

<?xml version="1.0" encoding="utf-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Visual Studio Extension Gallery</title>
  <id>uuid:CDC295B0-7885-4B59-9BDF-F059A9F4B338;id=1</id>
  <updated>2013-12-11T19:00:00Z</updated>
  <entry>
    <id>MyVSIX..b242c6de-d0a6-4ba1-9672-b866e36607d3</id>
    <title type="text">MyVSIX</title>
    <summary type="text">MyVSIX is a nifty extension that does things.</summary>
    <published>2013-12-11T19:00:00Z</published>
    <updated>2013-12-11T19:00:00Z</updated>
    <author>
      <name>daxelrod</name>
    </author>
    <content type="application/octet-stream" src="vsix/MyVSIX.vsix" />
    <Vsix
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://schemas.microsoft.com/developer/vsx-syndication-schema/2010" …
Run Code Online (Sandbox Code Playgroud)

visual-studio vsix visual-studio-extensions visual-studio-2012 atom-feed

16
推荐指数
1
解决办法
2297
查看次数

卸载Visual F#

我使用Visual Studio 2013,它有一个很好的功能来通知和安装所有扩展更新.

所以,这非常好,但我有时会收到安装我从未使用的功能的更新的请求.

例如,它建议我安装Visual F#3.1的更新

有没有办法彻底删除这个F#?我尝试从扩展管理器卸载,它将我发送到"添加和删除程序",但是有任何程序包含"F#".

如何进行?

.net visual-studio visual-studio-extensions visual-studio-2013

16
推荐指数
2
解决办法
2797
查看次数

在多台计算机上进行开发时无法运行VSPackage

我们正在使用Visual Studio 2012和TFS在团队中开发VSPackage.

扩展在用于创建它的计算机上正常工作(通过向导).在另一台计算机上,当我们尝试运行它时(使用F5),Visual Studio说"具有类库的输出类型的项目无法直接启动".

项目的输出确实是类库,在第一台机器上按F5启动Visual Studio的实验实例,扩展已加载并正常工作.

通过在第二台计算机上查看"%LOCALAPPDATA%\ Microsoft\VisualStudio\11.0Exp\Extensions",我们看到扩展已经构建,并且尝试向VS注册它.我们还在第二台计算机上创建了另一个扩展,并尝试在第一台计算机上运行它.它显示相同的错误.

我们如何才能在不习惯创建它的计算机上运行扩展?

c# vspackage visual-studio visual-studio-extensions visual-studio-2012

15
推荐指数
1
解决办法
2141
查看次数

无法使用VS Debugger Interop执行语句

我正在编写一个调试器扩展VSPackage,我想在遇到断点时在调试过程中执行一个语句.在我的扩展代码中,我有这个:

void Initialize()
{
    // ...standard vspackage init code omitted...

    Globals.Init((DTE2)GetService(typeof(DTE)));              
    Globals.DebuggerEvents.OnEnterBreakMode += (dbgEventReason reason, ref dbgExecutionAction action) =>
    {
        try
        {
           var e1 = Globals.Application.Debugger.GetExpression("1+2");
           Debug.WriteLine(e1.Value);     // Prints "3"

           Globals.Application.Debugger.ExecuteStatement("x = 1+2", 1000);
           Debug.WriteLine("OK");         // Never prints this                          
        } 
        catch (Exception ex)
        {
           Debug.WriteLine("Error: "+ex); // Nor this
        }
    }             
}
Run Code Online (Sandbox Code Playgroud)

在VS实例中调试此扩展时,我加载了一个看起来像这样的简单程序

static void Main()
{
   int x = 5;
   Console.WriteLine("X is "+x); // Breakpoint on this line
}
Run Code Online (Sandbox Code Playgroud)

当在调试过程中遇到断点时,将调用该处理程序并且扩展的输出窗口显示为"3",因此计算表达式可以工作,但它永远不会成功执行该语句.输出窗口中不会再打印任何内容.没有异常或超时发生,我无法继续调试过程,调试器似乎已崩溃.

globals类只保存DTE和DebuggerEvents

public static class Globals
{
   public …
Run Code Online (Sandbox Code Playgroud)

c# debugging envdte visual-studio-extensions visual-studio-2013

15
推荐指数
1
解决办法
429
查看次数