我正在使用roslyn API編寫DiagnosticAnalyzer和CodeFix。如何從roslyn代碼分析器輸出文件?
當我收集了所有的字符串和字符串插值後,我想將它們寫入一個文件,但我不知道如何以最好的方式做到這一點。
當然,我總是可以簡單地做一個File.WriteAllText(...)
,但我想向用戶公開更多的控制。
我也不能確定如何最好地觸發這個文件的生成,所以我的問題是:
我不想硬編碼的文件名,這將是最好的方式將此設置公開給代碼分析器的用戶?一個配置文件?如果是這樣,我將如何訪問?即:我如何知道目錄?
如果文件中缺少一個字符串,我想建議一個代碼修復,如「項目包含更改或新字符串,重新生成字符串文件」。這是做這件事的最好方法嗎?或者是否有可能向Visual Studio添加按鈕或其他東西?
我從命令行調用
devenv.com
可執行文件來觸發構建,是否有辦法強制我的代碼修復在構建時或之前/之後運行?或者我必須「手動」加載roslyn解決方案並執行我的codefix?
我剛剛寫了幾乎相同的擴展名,我是爲了獲取const字符串並將它們放到資源文件中進行本地化。我已經編制了一份你需要知道如何去做的事情清單。如果您需要示例代碼,我也可以提供 –
@ johnny5我會認真的!你是否設法「重寫」了InterpolatedStringExpressionSyntax'Instances的格式字符串?我有90%的工作量,當你指定諸如'{i:-10}'之類的東西時,它有時會絆倒。 – riki
不,我只是有一部分寫入最近的resx,我正在本地化字符串 –