Tag: vsx

我的vs2008插件用于textformatting非常慢

我写了一个小插件,它对我的​​C#代码进行了一些格式化。 在addins Exec方法中,我执行以下操作 try { TextSelection selection = (EnvDTE.TextSelection)_applicationObject.ActiveDocument.Selection; String foo = String.Empty; if (!text.IsEmpty) { foo = someCoolObjectThatFormatsText.Format(selection.Text); selection.Text = foo; // here everything gets painfully slow 🙁 } } catch (Exception) { throw; } 当代码行为“SelectedText.Text = foobar”时 是调用,VS逐步重建选择的每一行。 您可以轻松地观察它执行此步骤。 但我不明白,为什么这么慢。 任何提示? TIA

如何在Visual Studio中以编程方式执行“转到定义”?

给定一个表示特定类/字段/属性的字符串(例如MyNameSpace.MyClass或System.String.Length ),如何以编程方式使Visual Studio转到该类/字段/属性(即,使Visual Studio执行相同操作)如果我要在代码编辑器中输入引用然后点击F12,那会发生什么?

找出游标是否在方法,类或命名空间块中

我想创建一个Visual Studio插件,它可以识别插入符当前是否在方法,类或命名空间块中,即如果插入符号移动,插件应该能够记下插入符当前位于其中的状态 – 等元素。 如果这可以扩展到任何包含在花括号中的C#块,例如属性,那将是非常好的。 虽然我已经检查了类似的问题,但如果这是一个重复的问题,请告诉我,以便我可以相应地进行标记。 如果其他VS Addin相关问题在这里显然有用,请告诉我。 基本上,我想知道我们可以使用哪些技术以及如何实现这些技术。 编辑:我想开始的简短答案是: 获取Visual Studio 2010 SDK SP1 可能使用“可扩展性”项目模板“编辑器文本装饰”或其他一些此类模板。

在VS可扩展性演练中,Guid应包含32位数字和4个破折号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

我正在使用演练:第1部分 – 创建一个基本项目系统,完全按照网站http://msdn.microsoft.com/en-us/library/cc512961.aspx编写,完全从下载的项目管理包框架 http://mpfproj11.codeplex.com/ 。 我已经在Visual Studio 2013中测试了多个开发机器上的演练。我还使用各自的SDK在Visual Studio 2010和2012中对此进行了测试。 在每个测试中都要遵循相同的问题。 问题:我收到exception – mscorlib.dll中发生类型’System.FormatException’的exception,但未在用户代码中处理附加信息:Guid应包含32位数字和4个破折号(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx )在ProjectNode类方法中: private void SetProjectGuidFromProjectFile() { string projectGuid = this.GetProjectProperty(ProjectFileConstants.ProjectGuid); if (String.IsNullOrEmpty(projectGuid)) { this.projectIdGuid = Guid.NewGuid(); } else { Guid guid = new Guid(projectGuid); if (guid != this.projectIdGuid) { this.projectIdGuid = guid; } } } Guid guid = new Guid(projectGuid); projectGuid返回字符串“$ guid1 […]

在Visual Studio 2015扩展中更改项目中的文件ProjectItem的内容?

如何更改给定Project文件/ ProjectItem的内容? 我想用一个字符串替换它的所有内容。

VS 2010鼠标处理器扩展 – 无法正常工作

我正在尝试使用Visual Studio 2010扩展,我需要处理IMouseProcessor公开的事件。 据我所知,我应该创建一个IMouseProcessorProvider并导出使用MEF,以便Visual Studio可以自动获取它。 我创建了这个类: [Export(typeof(IMouseProcessorProvider))] [ContentType(“code”)] internal sealed class MouseProcessorFactory : IMouseProcessorProvider { public IMouseProcessor GetAssociatedProcessor(IWpfTextView wpfTextView) { return new MouseProcessor(); } } 当我运行Visual Studio的实验实例时,我的扩展在扩展管理器中可见。 但我的自定义鼠标处理器提供商永远不会被调用。 我错过了什么/我做错了什么?

将VS 2005解决方案文件(.sln)打开到内存中

我想在内存中打开一个现有的.sln文件。 非工作方法的示例: private Solution2 OpenSolution(string filePath) { Solution2 sln; sln.Open(filePath); return sln; } 如果我有一个Solution2的实例,那么我可以调用方法Open; 但是我如何获得Solution2的实例 ? 我的目标是获得足够的项目并阅读其中的一些设置……但这很容易获得解决方案。 先谢谢,路易斯