簡體   English   中英

有沒有辦法從消費項目配置源生成器?

[英]Is there a way to configure a Source Generator from the consuming project?

我可以通過查找 JSON 文件並使用它來配置源生成器,但是這種方法是有限的,而且通常實施起來很慢。

我正在尋找的是消費項目上的流暢語法,例如

generator.UseFormat(c)

據我所知,這不存在,但我很樂意得到證明。

我從理論上提出的一個 hacky 解決方案是使用另一個源生成器進行流暢的配置,然后配置原始源生成器。 這可以工作,但會如此復雜,必須有另一種方式。

我認為有兩個不錯的選擇:

  • 閱讀代碼。 Source Generators 可以訪問所有代碼,並且可以只檢測generator.UseFormat(c)... ,但這可能非常困難。 您也可以在此處閱讀屬性,或閱讀常量的值等。這取決於您的需求。

  • 使用 .editorconfig。 源生成器可以訪問 editorconfig,就像分析器一樣。 您可以在其中放置諸如格式之類的設置。 這可能是最簡單的。 (這通過使用sourceGeneratorContext.AnalyzerConfigOptions.GetOptions(SyntaxTree)

還有其他選項,例如訪問 MSBuild 內容以將配置放入 csproj 和朋友中,但這似乎毫無意義,而且可能很難做到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM