首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NRefactory如何保留原始格式

NRefactory如何保留原始格式
EN

Stack Overflow用户
提问于 2012-09-19 22:23:45
回答 2查看 674关注 0票数 3

您好,我使用NRefactory来提取字符串常量,并将其替换为i18n的静态变量,我可以成功地做到这一点,但当我使用GetText()输出代码时,它不会保留原始格式。我希望以最小的格式更改来做到这一点。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-10-19 02:03:25

看看NRefactory CodeProject article的“修改C#代码”部分(最后一部分)。

票数 0
EN

Stack Overflow用户

发布于 2014-03-14 19:07:05

如果你想保持当前的格式,你可以使用DocumentScript在AST上应用修改。它基于存储在语法树中的TextLocation属性工作。

要创建脚本,您需要执行以下操作:

代码语言:javascript
复制
IDocument document = new StringBuilderDocument("source code");
CSharpFormattingOptions policy = FormattingOptionsFactory.CreateAllman();
var options = new TextEditorOptions();

var script = new DocumentScript(document, policy, options);

现在你可以在你的AST上使用Replace,Remove,InsertAfter等方法。它既适用于ast节点,也适用于偏移。

它还跟踪修改,因此您不必担心在多个更改上发生冲突。

有关NRefactory的更多示例,您可能还想查看我的blog

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12496796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档