问题标签 [nrefactory]
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.
c# - 使用 NRefactory 生成没有空格的 C# 代码
是否可以为没有空格和换行符的 C# 代码生成设置格式选项?
我的意思是以下代码的转换:
到这段代码:
我正在尝试使用空选项来执行此操作,但它不起作用。
c# - 如何检查一个类是否实现了 NRefactory 中的接口方法
我有两个文件。其中一个是类声明,另一个是接口声明。类应该实现接口。如果类实现接口方法,我如何检查 NRefactory?
我应该提供更多细节。
第一个文件 - 例如:
第二个
我必须阅读这些文件并使用 NRefactory 进行解析。我需要检查类 Test 是否从接口 IF 实现方法。
无需编译和加载已编译的程序集。
c# - Mono Cecil 和 NRefactory 之间有什么关系以及如何将它们与 Roslyn 进行比较?
我了解 Microsoft 的 Compiler as a Service 或 Roslyn 项目的灵感来自 Mono Cecil。
但是 Mono Cecil 和 NRefactory 是什么关系呢?一个使用另一个吗?还是它们是做同样事情的替代技术?
似乎它们都提供了相同的大量代码分析服务,就像 Roslyn 一样。
refactoring - NRefactory , move 方法
我正在尝试使用 NRefactory 进行重构,我有一个以非 OOP 风格编写的旧式代码
我需要做的是对于每个类 T 将接受 T 作为第一个参数类型的静态方法移动到一个新类 ExtensionsForT 中,并将对它的引用更改为 X.method1(t)=>t.method1()
c# - NRefactory 是否理解 WinRT 语言预测?
NRefactory 是否理解来自 C# 的 WinRT 语言投影?如果不是,那么将此功能添加到 NRefactory 的最简单方法是什么?
以下单元测试似乎表明它当前不支持它。解析Windows.Globalization.ApplicationLanguages.Languages[0]
应该解析为 System.String,但这失败了。我的理论是解析器希望找到一个索引器,但没有,因为它实际上是一个IVector.GetAt(...)
.
要重现此问题,请克隆 NRefactory,并添加文件ICSharpCode.NRefactory.Tests\CSharp\Resolver\WinrtTests.cs
:
c# - 使用 NRefactory 从 C# 代码中获取所有方法
如何使用 NRefactory API 检索 C# 程序中的所有方法?
这会创建一个 SyntaxTree,但我如何仅从该 SyntaxTree 中获取方法列表?
c# - 将节点添加到语法树会添加一个子节点,但实际上并未显示
我正在编写一个 VSPackage,它需要根据测试更改一个类以返回正确的值。简单地更改返回值很容易,但现在我尝试添加一个 if-else 语句,以便该类根据输入返回不同的值:
如果我在此之后放置断点并检查parentNodeToInsert
:
在parentNodeToInsert
(蓝色框)的子节点下它已正确添加,但是节点的摘要(红色框)不包含新的 if 语句,稍后如果我调用toString()
语法树(将其写回文件)它也没有出现。
有谁知道为什么,以及如何让它出现?
abstract-syntax-tree - 从 .Net 程序集获取 AST,无需源代码(IL 代码)
我想将 .Net 程序集分析为独立于 C#、VB.NET 或其他语言的语言。
我知道 Roslyn 和 NRefactory,但它们似乎只适用于 C# 源代码级别?
CodePlex 上还有“通用编译器基础结构:代码模型和 AST API ”项目,该项目声称“支持以独立于语言的结构化形式表示代码块的分层对象模型”,这听起来完全符合我的要求。
但是,我找不到任何实际执行此操作的有用文档或代码。
任何建议如何存档?
Mono.Cecil 可以做点什么吗?
c# - NRefactory 中对静态导入的代码完成支持
NRefactory 的代码补全是否支持静态导入?我正在使用最新版本的 NRefactory,但我无法让它识别静态导入。
例如:
c# - 在 C# 中使用 FastColoredTextBox 完成 NRefactory 代码
我正在为 C# 构建一个简单的 IDE。
..我正在使用FastColoredTextBox
控件进行源代码编辑,内置自动完成菜单(http://www.codeproject.com/Articles/161871/Fast-Colored-TextBox-for-syntax-highlighting)
问题是,我想用它NRefactor
来自动完成代码,就像在 Visual Studio 中一样。
我做了一些研究,我发现了这个:https ://github.com/lukebuehler/NRefactory-Completion-Sample ...但我不明白代码,所以我不能重用它。
确切地说,我需要什么?
我需要一个函数,它将作为程序集的输入列表(字符串数组,它们是 DLL 的路径)、当前偏移量和编辑器的文本。
作为输出,我需要一个对象数组,其中将包含对象的名称,以及它的类型(变量、函数、类型……)
那么,我该怎么做呢?是否有必要在另一个线程中运行此自动完成代码?
谢谢你的回答,
维泰克ST
PS:不要讨厌我,我不熟悉NRefactor
...