如何在MonoDevelop中覆盖默认代码格式化策略?

时间:2012-06-11 19:37:46

标签: monodevelop unity3d

MonoDevelop允许创建和安装自定义策略来控制代码格式的所有方面。我已经为我们的工作网站创建了一个策略,可以通过Project>申请政策......

我们正在使用Unity游戏引擎,它定期重新生成MonoDevelop解决方案,要求每个开发人员重新应用该策略 - 令人烦恼且容易出错。

如何将我的策略文件作为新MonoDevelop解决方案的默认文件?

此外,保存应用政策的信息在哪里?

在.sln文件中,我看到“$ 0.CSharpFormattingPolicy = $ 2”,但在应用我的自定义策略后这没有改变。我在应用策略之前和之后比较了所有项目文件,唯一的变化是(1)生成.userprefs文件,但没有提到策略,(2)各种.pidb文件不同,但这可以政策信息在哪里?

我正在使用与Unity 3.5.2集成的MonoDevelop版本,它是MonoDevelop版本2.8.2(在Windows 7上)。 (是的,2.8.2有点过时了,Unity Technologies可能会做出导致我的问题的更改。)

5 个答案:

答案 0 :(得分:11)

这是其他答案发布后的一年,但上述任何一项都不符合统一标准,而且这一点接近谷歌搜索的顶部。

以下是我必须遵循的步骤才能使格式化工作:

  1. MonoDevelop->工具 - >自定义政策 - >添加政策 - >新政策

  2. 在“自定义政策”窗口中修改政策,确保您的政策已被选中。

  3. 项目 - >应用政策 - >应用股票或自定义政策集(选择您的政策) - >申请

答案 1 :(得分:4)

转到工具 - >选项 - >键绑定 然后转到编辑 - > FormatDocument 然后分配快捷键并单击“应用”并在文档中使用它。

答案 2 :(得分:2)

默认策略适用于没有策略的新解决方案或解决方案。它可以在首选项/选项对话框中进行编辑,其中包含用户首选项:工具 - > Windows上的选项,MonoDevelop-> Mac上的首选项。您可以识别这些策略,因为它们在面板顶部有一个“策略”下拉列表,允许您从命名策略加载。

答案 3 :(得分:1)

我花了30分钟来解决这个问题并最终弄明白。

在Windows中: 转到Project -> Assembly C-Sharp Options

然后从那里更改代码格式!

转到Project -> Solution Options绝不会做什么

答案 4 :(得分:0)

经过一年的处理,我们编写了一个Unity编辑器脚本,可以观察项目文件的变化,当它们发生变化时,检查项目中的策略条目(非常简单的XML要解析。)如果它们偏离了根据我们所希望的政策,我们会对其进行修改,并将其与正确的政策变更一起写回来。

另一个想法(我们想要实施策略)会做同样的事情,但只要在项目更新时从项目中删除策略条目,然后你就永远不会让项目策略覆盖你设置的内容工具级别。