问题标签 [roslyn-code-analysis]
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.
roslyn - roslyn语法树可以转换成xml文件吗?
语法可视化器非常适合理解代码。我想在 xml 文件中查看语法树。是否有任何解决方案可以通过 xml 对其进行可视化?
roslyn - 我应该在 Roslyn 中注册哪个操作来捕获 ObjectCreation?
我应该在 Roslyn 中注册哪个操作来捕获 ObjectCreation ?我想知道编码器是否创建了 SqlCommand 对象来做一些 sql 的事情。
PS我是Roslyn的新手,请耐心等待我正在学习并且会更好。
roslyn - 如何使用 Roslyn 解析所有正确的文件类型
所以我想在我的项目中加载所有 C# 文件,以便我可以使用 Roslyn 解析它们。
我想做这样的事情:
我怎样才能做到这一点。或者甚至有可能吗?
roslyn - 控制和数据流分析可以应用于其他解决方案文档吗?
我正在对我的示例代码进行控制流和数据流分析。我正在使用即时分析器(带有代码修复的分析器 - Nuget,VSIX)我的目标是不仅分析代码开发人员编码,还希望将数据跟踪到其他类。我可以了解你的想法吗?谢谢
visual-studio - 抑制来自 Roslyn 代码分析器的问题
有什么方法可以抑制 Roslyn 分析仪的问题?我使用即时分析器项目类型。如果用户需要,我想压制这些问题。而且它必须是永久性的。如果我重新打开 Visual Studio,仍必须应用相同的禁止规则。
c# - 从roslyn中的符号获取类型
从 Microsoft.CodeAnalysis.ISymbol 获取不同类型符号的 System.Type 的最佳通用方法是什么?(例如类声明、变量、属性等)
我希望能够对类型进行各种检查,例如检查该类型是否实现了任何接口或可转换为任何接口,就像可以检查 System.Type 一样。
我遇到的问题是大多数用于表示符号的具体类都是内部的(请参阅http://sourceroslyn.io/),我在 ISymbol 中找不到类型信息。
- SourceNamedTypeSymbol
- 本地符号
我使用以下代码检索 ISymbol
roslyn - 编写 Roslyn 分析器或 VS 扩展时有什么方法可以存储数据?
我正在编写一个 Roslyn 分析器,我需要存储一些数据,因此我的分析器可以在它们之间共享数据。或者我想保存分析仪的状态,然后我想再次将一些数据保存到数据库或写入文件。使用带有代码修复模板的分析器时是否有任何存储数据的选项?
teamcity - Visual Studio 2015 SDK CI 服务器或强制 Rosyln
是否可以在不安装 Visual Studio 的情况下安装 VS2015 SDK?我想在我们的 CI 服务器(Team City)上使用 Rosyln 编译器,并且需要用于建模 sdk、T4 模板的 SDK。
如果没有,是否有替代方案 - 我们的项目使用 Roslyn Style Cop 实现。我可以在 v12.0 工具集上强制使用 Rosyln 吗?
roslyn - 如何跨 Workspace.TryApplyChanges() 跟踪 SyntaxNodes
我想跨不同版本的/跟踪SyntaxNode
s 和s 。SyntaxTrivia
Solution
Workspace
我尝试用SyntaxAnnotation
s 注释一些节点。只要我不更新工作区,这就会很好。
调用Workspace.TryApplyChanges
(成功)似乎删除了所有SyntaxAnnotation
s.
- 这让我很惊讶。为什么会这样?
- 如何
SyntaxNode
跨工作区更新跟踪 s?
示例代码如下:
syntax - Roslyn 语法树差异
假设我有两个SyntaxTree
s A和B,
其中B是通过对 A 应用更改生成的。
我想获得以下信息:
- 已从A中删除以生成B的语法节点和令牌
- 已添加到A以生成B的语法节点和令牌
有这方面的API吗?
如果没有,如何有效地计算?
此信息必须对 Roslyn 可用,
因为未更改GreenNode
的 s 在树之间共享。
我能想到的一种解决方案是使用SyntaxTree.GetChangedSpans()
然后查找相交标记。
然而,这感觉就像一个黑客,我不确定它是否总是准确的。
一个小的文本更改可能会对 : 产生很大的影响SyntaxTree
(
例如,在表达式中替换*
为+
可能会更改其顺序/优先级)