问题标签 [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 回答
79 浏览

c# - 防止对打开的解决方案的每个文件执行语法树操作

我有一个代码分析器,其操作注册到语法树解析:

问题是当打开一个解决方案时,它是针对解决方案的每个 (*.cs) 文件执行的。由于该HandleSyntaxTree()方法调用了 Git 的命令行进程,因此对于大型解决方案,这会变得非常慢。

有没有办法HandleSyntaxTree()只为在编辑器中打开的文件调用?


编辑: HandleSyntaxTree() 方法的半伪代码

0 投票
1 回答
514 浏览

c# - 如何使用 Roslyn 获取 C# 项目中使用的各种类型

我正在分析将现有的 C# 库转换为 java。首先,我需要知道现有 C# 库中使用的类型/内置关键字是什么。我的意思是,例如

在这个类中,使用的类型/关键字是,

  1. 上市
  2. 整数
  3. 漂浮
  4. 安慰
  5. 细绳

我的问题是,

  1. 有没有办法做到这一点。我希望我能和罗斯林一起做这件事。但是我们可以获得变量的“LocalDeclarationStatementSyntax”。但是如何解析“Console”和“Concat”。解析类中所有标记的“Sytax walker”是唯一的选择吗?
  2. 还有如何使用 Roslyn 从项目文件中获取所有类?
0 投票
1 回答
245 浏览

c# - Roslyn 找不到 IDictionary.Add 接口实现成员

为什么以下示例中的 Roslyn 在 Dictionary 类型中找不到 IDictionary.Add 接口成员实现?

IDictionary.Add 和 Dictionary.Add 由 Roslyn 正确解析,但后来我在 Dictionary 类型中找不到实现 IDictionary.Add 方法。

更新 我用正确的代码添加了第二个代码示例。

VS2015,罗斯林 1.1.1:

固定示例:

0 投票
1 回答
470 浏览

c# - 执行代码修复后如何将插入符号移动到特定位置

执行代码修复后是否可以将插入符号移动到特定位置?

想象以下场景: - 在我正在编辑的源代码的开头附近,我的代码分析器检测到一个错误并用红色曲线突出显示 - 我正在编辑文件,因此突出显示的错误超出了显示范围 - 使用鼠标轮子,我遇到了上述错误 - 将曲线悬停后,出现错误弹出窗口并显示建议的代码修复 - 执行后,编辑器视图返回插入符号位置 - 我无法立即看到代码修复的结果

解决方案是将插入符号位置移动到发生代码修复的位置。但是我似乎找不到方法。

0 投票
3 回答
1053 浏览

c# - 如何在类或部分类文件中找到 Roslyn 中方法的所有签名(重载)?

通过 Roslyn,C# 语法,我有 IMethodSymbol 来澄清我的方法信息,

符号:容器类可能有部分类,其中包括该方法的一些签名

0 投票
1 回答
1405 浏览

c# - 使用 Roslyn 以编程方式编译源代码

所以我一直在尝试用 Roslyn 以编程方式编译一段代码。由于某些原因,我添加的引用并没有出现在 Compilation 类中。因此,当我在使用“AddReferences”后查看引用的程序集时,列表为空。因此,当我尝试发射时,我得到诊断中未定义的“对象”。谁能指出我的问题?

0 投票
1 回答
274 浏览

c# - 如何获取 C# 类中使用的所有系统类型或内置类型

我正在尝试列出 C# 类中使用的所有系统类型。例如,

这里我要列举,

  1. 整数32
  2. 安慰
  3. 空白
  4. 集会
  5. 漂浮
  6. 双倍的
  7. 细绳

这个怎么做?

0 投票
0 回答
255 浏览

c# - Roslyn Analyzer 不能处理项目中的多个文件

好的,我在一个项目中运行了这个分析器:

在项目中有多个文件之前,一切都运行良好。例如,对于项目中的两个文件,可以正确识别诊断,但未显示诊断。

任何想法 ?

0 投票
1 回答
2160 浏览

c# - 从命令行调用 Roslyn 分析器

在 Visual Studio 2015 中进行开发时使用 Roslyn 分析器非常棒。但是,如果能够从预提交挂钩或像 TeamCity 这样的 CI 调用分析器,以确保标记不符合要求的代码,那就更好了。

有什么方法可以通过调用命令行实用程序来获取分析器的结果,还是需要定制?

0 投票
1 回答
995 浏览

visual-studio - 什么是 ReSharper 的“StyleCop 兼容性”?

我目前正在进行研究以完成我的组织向 VS 2015 的迁移,包括实施 StyleCop.Analyzers、更新 ReSharper 设置并将其签入源代码控制等。

我经常遇到的一个话题是 StyleCop 和 ReSharper 之间的“兼容性”。Jet Brains 开发人员甚至分叉了经典的 StyleCop,以使其与 ReSharper 9 “兼容”。

这里的“兼容”是什么意思?是像让 ReSharper 的所有默认代码分析设置与 StyleCop 中的设置匹配一样简单,还是更复杂?

我们的升级/更改包括:

  • Visual Studio 2010 到 2015
  • ReSharper 8 到 10
  • StyleCop 经典到 StyleCop.Analyzers

...所以我只想确保我的基地被覆盖。