2012-06-11 42 views
8

MonoDevelop允许创建和安装自定义策略来控制代码格式的各个方面。我为我们的工作网站创建了一个策略,可以通过Project> Apply Policy应用...如何重写MonoDevelop中的默认代码格式策略?

我们使用Unity游戏引擎,它定期重新生成MonoDevelop解决方案,要求每个开发人员重新应用策略 - 刺激和容易出错。

如何使我的策略文件成为新的MonoDevelop解决方案的默认值?

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

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

我正在使用MonoDevelop版本2.8.2(在Windows 7上)与Unity 3.5.2集成的MonoDevelop版本。 (是的,2.8.2稍微过时了,Unity Technologies可能会对我的问题进行更改。)

回答

11

这一年其他答案后,但没有上述工程的统一,这是附近的谷歌搜索的顶部。

这里是我只好跟着得到格式化工作步骤:政策内

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

  2. 编辑'自定义政策'窗口中,确保您的政策被选中。

  3. 项目 - >应用策略 - >应用或自定义策略集(选择策略) - >应用

+0

这真是太棒了。由于Unity为每个新项目创建其默认策略,因此重新创建我的样式非常令人沮丧。这完全是我在找的东西! – ObsidianX

+1

这适用于策略,但根据我的经验,它只会在Unity再次生成解决方案之前持续下去。 – yoyo

+1

更好的是,在解决方案级别应用您的策略(右键单击解决方案,然后单击工具 - >应用策略),然后将解决方案保存在新文件名下。这样Unity每次重新生成项目时都不会覆盖您的设置。 –

2

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

+0

谢谢mhutch,我试图使用这些设置,但它们没有区别。用更多的信息编辑我的问题。 – yoyo

1

我花了30分钟修复这个问题,最后弄明白了。

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

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

Project -> Solution Options绝对没有

+0

我可以更改选项,这不是问题。麻烦在于,每次Unity重新生成我的解决方案时,代码格式策略都会重置为默认值。我想在某些方面超过默认值。 – yoyo

0

一年处理这个问题后,我们写了一个统一的编辑脚本,将观看更改项目文件以及更改项目时,检查项目中的策略条目(非常简单的XML进行解析)。如果他们偏离了我们所需的策略,我们将修改它们并使用正确的策略更改将其写回。 。

另一个想法(我们想要强制执行一项政策)将会做同样的事情,但只要从项目中删除策略条目,只要它们得到更新,然后就不会有项目策略覆盖您设置的项目在工具层面。

4

转到工具 - >选项 - > KeyBinding 然后转到编辑 - >格式文档 然后指定您的快捷键,然后单击应用并在文档中使用它。