gpt4 book ai didi

c# - Roslyn 源生成器能否发现 IDE 的间距/等首选项?

转载 作者:行者123 更新时间:2023-12-03 17:09:03 27 4
gpt4 key购买 nike

我正在编写 Roslyn 源代码生成器,原则上我想确保生成的源代码(现在可见、可调试等)至少在某种程度上符合用户的制表符与空格、括号位置的配置等。我不打算支持所有内容,但很明显:当然。
所以;我正在实现 ISourceGeneratorISyntaxReceiver ,这意味着我可以访问 GeneratorInitializationContext , GeneratorExecutionContextSyntaxNode蜜蜂。但是,我找不到从这里获取这些 IDE 设置的任何方法。这可能吗?
这甚至可能是不可能的,因为我在谈论 IDE 设置并且并不总是有 IDE - 例如,用户可能只是运行 dotnet build在命令行。
(或者可能是;在将生成的代码交还给调用者之前,是否可以在生成的代码上触发等效的“格式文档”?)

最佳答案

正如谈话所观察到的,没有好的方法可以做到这一点(或者至少在撰写本文时不是)。如果您想将其拼凑在一起,生成器可以尝试使用 .editorconfig 中的值来了解格式设置,但此时您必须自己编写一些。我的建议是在我们为此提供支持之前,不要担心它,并随时将用户投诉直接指向此或错误。
无论如何,调试问题使事情变得棘手:在 IDE 中打开的文件需要与构建期间生成的文件相匹配,因为调试器希望它对齐。 .editorconfig 至少意味着双方可以看到相同的值。

关于c# - Roslyn 源生成器能否发现 IDE 的间距/等首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67351269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com