问题标签 [resharper-sdk]
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.
resharper - 如何获取特定 JetBrains.ReSharper.Psi.IDeclaredElement 的文件名和行号?
我想为 resharper 编写一个测试框架扩展。这方面的文档在这里:http ://confluence.jetbrains.net/display/ReSharper/Test+Framework+Support
这方面的一个方面是指示一段特定的代码是否是测试的一部分。这段代码表示为 IDeclaredElement。
是否可以获得由特定 IDeclaredElement 表示的一段代码的文件名和行号?
跟进以下回复:
@Evgeny,感谢您的回答,我想知道您是否可以为我澄清一点。
假设用户在 Visual Studio 中打开了这个测试:https ://github.com/fschwiet/DreamNJasmine/blob/master/NJasmine.Tests/SampleTest.cs 假设用户右键单击第 48 行,“player.Resume() “ 表达。IDeclaredElement 会具体告诉我他们想在第 48 行运行吗?或者它会给我一个对应于整个类的 IDeclaredElement,以及整个类的文件名/行号范围?
我应该自己玩这个,但我很欣赏利用你已经知道的东西。
c# - 如何使用 ReSharper SDK 创建 [CustomAttribute(typeof(GenericType<,>))]?
typeof
有没有办法用泛型类型的表达式创建属性?
以下代码仅部分起作用:
resharper - 无法调试使用 SDK 制作的 ReSharper 插件
我正在使用 VisualStudio2010 SP1、ReSharper 6.1.1。和 ReSharper SDK 6.1.0.51。我禁止使用项目向导轻松构建新插件,但不幸的是我无法调试它。不会命中断点。即使随 SDK 提供的示例也可以工作,但无法调试。我哪里错了?
c# - 如何使用 ReSharper SDK 确定方法的返回类型?
我正在尝试编写一个简单的 ReSharper 7.1 插件来在某些情况下更改方法的返回类型。
我派生了我的类ElementProblemAnalyzer<IMethodDeclaration>
并实现了该Run
方法,如下所示:
这很好用,因为它突出了每个方法的返回类型。我似乎无法弄清楚如何检查返回类型是否为void
,也无法将方法类型从更改为void
其他类型。
我看到IMethodDeclaration
接口有一个TypeUsage
, 并且它是 的一个实例IPreDefinedType
,它又实现IType
了 ,但是 ReSharper SDK 文档没有解释如何检查方法的返回类型,也没有解释如何更改返回类型。
resharper - 使用 ReSharper SDK 访问选定的代码
有什么方法可以识别和提取通过使用 ReSharper SDK 单击和拖动突出显示的代码块?
c# - 通过 ReSharper SDK 访问 IMethodDeclaration 对象
我手头有 INamespaceBody、IClassDeclaration 和 IMethod。我想得到IMethod对应的IMethodDeclaration和IClassDeclaration对应的IClassBody。但我完全不知所措......我怎么能做到这一点?
azure-devops - Team Fundation Service 无法构建 VSPackage(未找到 VsSDK)
我正在尝试使用MS Team Foundation 服务来构建我们的 VisualStudio 扩展。不幸的是,构建服务器无法构建我的解决方案,发出错误消息
<my-project>.csproj:未找到导入的项目“$(MSBuildExtensionPath)\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets”。
我从问题 1和问题 2中得知,这意味着 SDK 扩展未安装在运行我们构建的机器上。我知道我可能可以在我的解决方案中包含整个 SDK 并相应地设置导入路径,但这对我来说似乎不是一个合适的解决方案......尤其是因为 ReSharper SDK 以及可能在未来。
因此,问题是:是否可以通过 Team Foundation Service 构建依赖 VsSDK(或其他构建扩展)的项目?
提前致谢!
resharper - Resharper SDK - 创建文件
我正在尝试制作一个 Resharper 插件来帮助对我拥有的项目进行一些专门的重构。
它的要点是我在一个类中有一个静态函数,我想创建一个新类并将静态函数移入其中。
我认为这会更简单,但我很难在 SDK 文档中找到示例或起点。
具体来说,我不知道如何创建一个包含新类的新文件。虽然我不能肯定地说,但我觉得我遇到了几个创建新类的例子(尽管当时我忽略了它们,因为我被这个新文件挂断了)。
有谁知道让 ReSharper SDK 创建这个新文件的神奇词汇?
c# - 使用 ReSharper 8.2 SDK 在 C# 中使用上下文操作自定义本地化重构
我们的 .NET 4.0 C# 项目中的本地化基本上如下:
MyCompany.Resources.dll
包含两个 RESX 文件:A.resx
以及B.resx
它们的本地化对应文件(A_de.resx
、B_hu.resx
等)。这些文件由通常的 RESX xml 元素组成,例如<data name="key" xml:space="preserve"><value>value</value></data>
MyCompany.Common.dll
包含一个公共(单例)类,该类MyCompanyResourceManager
具有两种方法,用于通过键访问本地化值,例如A.resx
和。B.resx
GetA(string key)
GetB(string key)
无论 C# 代码中有什么字符串需要本地化,我们手动打开
A.resx
或者B.resx
使用 XML 编辑器(Visual Studio 资源编辑器搞砸了 xml 中的某些内容),<data>
使用新键向 XML 文档添加新标签,在 C# 代码中,我们手动将字符串替换为对MyCompanyResourceManager.Instance.GetA(...)
(orGetB(...)
) 的调用。
这项工作可以通过 ReSharper 中的代码片段和实时模板来加速,但我觉得需要一个更好的解决方案来解决这个“工作流程”(而不是本地化机制,不能改变 :))。这就是为什么要编写一个 ReSharper 插件来执行重复部分的原因。我想达到的目标:
- 当插入符号位于 C# 代码中的字符串文字上时,提供上下文操作
Localize in A
和Localize in B
- 当我选择其中任何一个时,弹出一个对话框以提示用户在 RESX 中使用的密钥
- 将新
<data>
标记放在相应的 RESX 文件中,并用调用适当的方法替换字符串文字。MyCompanyResourceManager
如果需要,导入类的命名空间,并在需要时引用它的程序集。(引用程序集不是必须的,因为可以假设它MyCompany.Common
在任何地方都被引用) - 打开所选的 RESX 文件以查看更改
可选功能(使插件更广泛地使用):
- 设置页面指定RESX文件(甚至两个以上),对应的方法调用,以及包含这些方法的类
- 在提示密钥之前,在所选的 RESX 文件中搜索字符串文字,以防它已经本地化
我的问题/疑问:
- 我有点迷失在ReSharper SDK 参考及其不完整的文档中,所以关于可用类/接口的综合材料/教程会很棒(如果有的话)
- 如何使用 ReSharper API 在 Visual Studio 中打开项目/解决方案文件?
- 如何使用 ReSharper API 操作 XML 文件?示例上下文操作是一个反向字符串,因此访问插入符号下的文字是可以的。
- 对于这种情况,我应该使用上下文操作还是重构?
- 如何从上下文操作开始重构?
- 从哪里开始,这个任务的API应该很好理解什么?
提前致谢!
resharper - DaemonStage 和 ElementProblemAnalyzer 有什么区别?
我正在开发 Resharper 插件,但我没有意识到在 Deamon Stages 和 Element Problem Analyzers 之间?
当我需要使用一个或另一个?如果他们都提供代码分析。