问题标签 [visual-studio-extensions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - Visual Studio 扩展接口中未使用的方法
在Visual Studio 包的IVsHierarchy接口中,有方法Unused0
、Unused1
、和Unused2
,描述如下:Unused3
Unused4
有人可以更详细地解释这一点。这些方法到底有什么帮助?
c# - 将 .exe 打包到 .vsix 并从 Visual Studio 扩展调用
我有一个 Visual Studio 包,它通过启动一个外部进程(使用System.Diagnostics.Process
)并通过标准输入/输出与其通信来完成它的一些工作。目前,我有.exe
硬编码的路径,这显然不适用于实际部署扩展。使用扩展打包和分发的正确方法是什么.exe
?(并且,相关的,一旦我这样做了,我如何以编程方式发现已安装.exe
文件的路径。)最好我想将它放入.vsix
文件中,以便安装。
编辑:我已将我的代码的相关部分放在 BitBucket 上(它可能对使用 Roslyn 的其他人有用):roslyn_process以便更好地了解我正在尝试做什么。此代码AbstractProcessHandler
使用RoslynProcess
. 后者会随时了解对 Visual Studio 中代码文件的修改以及正在查看哪个代码文件,因此它能够使用最新信息进行分析,尽管它不是作为 Visual Studio 扩展运行的,这会施加以下限制Roslyn 关于正在编辑的所有代码。
编辑 2:使用这个答案,我可以获得扩展的目录。source.extension.vsixmanifest
我可以通过将其作为“自定义扩展类型”类型添加到内容列表中来包含另一个包。然后.exe
出现在扩展的目录中。这似乎是正确的解决方案,尽管获取目录的方式在 MSDN 中被标记为我不应该使用的东西。
看起来这可能是最好的方法,即使它看起来很hackish,在这种情况下,一旦我一切正常,我会发布这个作为答案。
visual-studio-2010 - 用于将输出文件重定向到指定文件夹的 Visual Studio 扩展
通常,Visual Studio 将输出文件放入 bin/debug 或 bin/release。
当解决方案包含大量项目时,手动修改每个项目输出并不容易。
也不希望在 csproj 文件中进行编辑,因为其中一些是在解决方案之间共享的。
我的问题:有人知道一个可以快速配置输出路径的工具吗?
更新:TFS Build 解决了我的问题
visual-studio - 如何调试 Visual Studio 扩展
我只是在为 Visual Studio 2010 编写一个 VSIX 扩展,但不知道如何调试它。
一种明显的方法是输出消息。扩展模板使用Trace.WriteLine()
. 但是在哪里可以找到它的输出呢?
c# - Visual Studio 2010 扩展 - 无法中断实验实例中的执行
我正在尝试使用针对 Visual Studio 2010 实验实例运行的 Visual Studio 扩展中的调试点来中断执行。
出于某种原因,在尝试中断执行时,我收到一个错误:
奇怪的是,我可以在 Visual Studio 2005 和 2008 实验实例中毫无问题地进行调试。
有没有其他人在 VS 2010 中遇到过这个问题?
c# - 有没有办法在 Visual Studio 扩展窗口中托管 C# 代码编辑器
我正在开发一个 Visual Studio 2010 扩展,并且想知道如何获得现有的语言服务(专门用于 C# 的语言服务)。到目前为止,我在网上看到的所有文章都是关于“实现自己的语言服务”的,但我找不到任何关于获得 M<现有的信息。
只是为了在这里提供一些上下文,扩展需要按需打开一个自定义 wpf 表单,我想在其中托管一个 C# 代码编辑器窗口。
我还不确定这是否可能,但是任何提示都将不胜感激。
visual-studio-2010 - 如何以编程方式创建一个空的 Visual C++ 项目?
我想知道如何使用空 Visual C++ 项目的模板以编程方式使用这个空项目创建一个新的解决方案。我现在拥有的代码(C#)是:
我无法在所有其他模板 (C#/F#/VB) 所在的位置找到 VC++ Empty Project 模板。当我通过 IDE 手动创建新项目时,VC++ 空项目模板确实出现在已安装的模板中。参数应该是soln.GetProjectTemplate()
什么?它似乎无法识别"VC++"
为一种语言。我知道这一点"CSharp"
并且"VisualBasic"
是有效的选择。但我想要一个 VC++ 空项目。任何帮助将不胜感激。
c# - 在 Visual Studio 扩展中记录撤消/重做操作
我编写了一个 Visual Studio 扩展,并让它记录与我的扩展相关的用户操作。我希望能够在日志中包含我的工具所做更改的撤消/重做信息,我希望能够通过在撤消/重做发生时调用事件侦听器并检查撤消/重做对象是否是与我的工具生成的动作相对应的那个。
目前,我有代码来获取ITextUndoHistory
current IWpfTextView
,我使用ITextUndoHistoryRegistry
我按照这个答案生成的。不幸的是,ITextUndoHistory
我得到的对象没有实现足够有用的功能。具体来说,它的UndoRedoHappened
事件被调用,但总是有一个事务null
。此外,它的UndoStack
/RedoStack
属性 throw System.NotSupportedException
。唯一有效的是CreateTransaction
给我一个事务对象,让我为在 Visual Studio 的撤消/重做列表中显示的操作设置名称,尽管我不需要它来工作。
是否有其他方法可以访问 Visual Studio 中的撤消信息?或者也许我可以访问一些更有创意的黑客?
visual-studio - 将 VSIX 包标记为需要重新启动
我为 Visual Studio 编写了一个自定义工具,编译为 VSIX 并上传到 Visual Studio Gallery。一切正常,只要在将扩展添加到开发环境后重新启动 Visual Studio。问题是我不确定如何将我的包标记为需要重新启动。
看起来这应该是 .vsixmanifest 中的一个简单的 XML 属性或其他东西,但我找不到它,我可能只是盯着这个问题太久了。
有人知道如何在包装中注明吗?
该扩展在 Visual Studio Gallery 上称为JsBuildTools ,如果您需要查看源代码,源代码在GitHub 上。
visual-studio-2010 - xml 文件的另一种内容类型
我想实现一个扩展,以提高我们产品的生产力。它基本上是一个基于 XML 的具有自己的语言的 Web 应用程序框架。
首先,我想对特定于框架的文件进行分类并执行一些超出问题范围的工作。
我是插件开发的新手,但我认为我需要为框架特定的 xml 文件自定义内容类型。
项目中的每个 xml 文件都有一个根元素和一个等于文件名(不带扩展名)<view>
的属性。name
(例如,xml 文件 ViewName.xml 将如下所示)
是否可以根据文件的内容为其分配内容类型,以便 xml 文件仅在包含等于文件名<view>
的根元素时才会获得“customxml”内容类型?name