问题标签 [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.

0 投票
0 回答
65 浏览

roslyn - roslyn语法树可以转换成xml文件吗?

语法可视化器非常适合理解代码。我想在 xml 文件中查看语法树。是否有任何解决方案可以通过 xml 对其进行可视化?

0 投票
0 回答
46 浏览

roslyn - 我应该在 Roslyn 中注册哪个操作来捕获 ObjectCreation?

我应该在 Roslyn 中注册哪个操作来捕获 ObjectCreation ?我想知道编码器是否创建了 SqlCommand 对象来做一些 sql 的事情。

PS我是Roslyn的新手,请耐心等待我正在学习并且会更好。

0 投票
2 回答
286 浏览

roslyn - 如何使用 Roslyn 解析所有正确的文件类型

所以我想在我的项目中加载所有 C# 文件,以便我可以使用 Roslyn 解析它们。

我想做这样的事情:

我怎样才能做到这一点。或者甚至有可能吗?

0 投票
0 回答
92 浏览

roslyn - 控制和数据流分析可以应用于其他解决方案文档吗?

我正在对我的示例代码进行控制流和数据流分析。我正在使用即时分析器(带有代码修复的分析器 - Nuget,VSIX)我的目标是不仅分析代码开发人员编码,还希望将数据跟踪到其他类。我可以了解你的想法吗?谢谢

0 投票
2 回答
4103 浏览

visual-studio - 抑制来自 Roslyn 代码分析器的问题

有什么方法可以抑制 Roslyn 分析仪的问题?我使用即时分析器项目类型。如果用户需要,我想压制这些问题。而且它必须是永久性的。如果我重新打开 Visual Studio,仍必须应用相同的禁止规则。

0 投票
2 回答
11112 浏览

c# - 从roslyn中的符号获取类型

从 Microsoft.CodeAnalysis.ISymbol 获取不同类型符号的 System.Type 的最佳通用方法是什么?(例如类声明、变量、属性等)

我希望能够对类型进行各种检查,例如检查该类型是否实现了任何接口或可转换为任何接口,就像可以检查 System.Type 一样。

我遇到的问题是大多数用于表示符号的具体类都是内部的(请参阅http://sourceroslyn.io/),我在 ISymbol 中找不到类型信息。

  • SourceNamedTypeSymbol
  • 本地符号

我使用以下代码检索 ISymbol

0 投票
2 回答
216 浏览

roslyn - 编写 Roslyn 分析器或 VS 扩展时有什么方法可以存储数据?

我正在编写一个 Roslyn 分析器,我需要存储一些数据,因此我的分析器可以在它们之间共享数据。或者我想保存分析仪的状态,然后我想再次将一些数据保存到数据库或写入文件。使用带有代码修复模板的分析器时是否有任何存储数据的选项?

0 投票
0 回答
80 浏览

teamcity - Visual Studio 2015 SDK CI 服务器或强制 Rosyln

是否可以在不安装 Visual Studio 的情况下安装 VS2015 SDK?我想在我们的 CI 服务器(Team City)上使用 Rosyln 编译器,并且需要用于建模 sdk、T4 模板的 SDK。

如果没有,是否有替代方案 - 我们的项目使用 Roslyn Style Cop 实现。我可以在 v12.0 工具集上强制使用 Rosyln 吗?

0 投票
1 回答
159 浏览

roslyn - 如何跨 Workspace.TryApplyChanges() 跟踪 SyntaxNodes

我想跨不同版本的/跟踪SyntaxNodes 和s 。SyntaxTriviaSolutionWorkspace

我尝试用SyntaxAnnotations 注释一些节点。只要我不更新工作区,这就会很好。

调用Workspace.TryApplyChanges(成功)似乎删除了所有SyntaxAnnotations.

  • 这让我很惊讶。为什么会这样?
  • 如何SyntaxNode跨工作区更新跟踪 s?

示例代码如下:

0 投票
1 回答
1001 浏览

syntax - Roslyn 语法树差异

假设我有两个SyntaxTrees AB
其中B是通过对 A 应用更改生成

我想获得以下信息:

  • 已从A中删除以生成B的语法节点和令牌
  • 已添加到A以生成B的语法节点和令牌

有这方面的API吗?
如果没有,如何有效地计算?

此信息必须对 Roslyn 可用,
因为未更改GreenNode的 s 在树之间共享。

我能想到的一种解决方案是使用SyntaxTree.GetChangedSpans()
然后查找相交标记。
然而,这感觉就像一个黑客,我不确定它是否总是准确的。
一个小的文本更改可能会对 : 产生很大的影响SyntaxTree
例如,在表达式中替换*+可能会更改其顺序/优先级)