Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何克服MonoDevelop中的默认代码格式策略?_Monodevelop_Unity3d - Fatal编程技术网

如何克服MonoDevelop中的默认代码格式策略?

如何克服MonoDevelop中的默认代码格式策略?,monodevelop,unity3d,Monodevelop,Unity3d,MonoDevelop允许创建和安装自定义策略来控制代码格式的所有方面。我已经为我们的工作站点创建了一个策略,可以通过项目>应用策略 我们使用的是Unity游戏引擎,它定期重新生成MonoDevelop解决方案,要求每个开发人员重新应用该策略—这会刺激用户,而且容易出错 如何使策略文件成为新MonoDevelop解决方案的默认文件 此外,有关应用策略的信息保存在哪里 在.sln文件中,我看到$0.csharpformatingpolicy=$2,但在应用我的自定义策略后,这是不变的。我比较了应用

MonoDevelop允许创建和安装自定义策略来控制代码格式的所有方面。我已经为我们的工作站点创建了一个策略,可以通过项目>应用策略

我们使用的是Unity游戏引擎,它定期重新生成MonoDevelop解决方案,要求每个开发人员重新应用该策略—这会刺激用户,而且容易出错

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

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

在.sln文件中,我看到$0.csharpformatingpolicy=$2,但在应用我的自定义策略后,这是不变的。我比较了应用策略前后的所有项目文件,唯一的变化是生成了1个.userprefs文件,但没有提到策略,2个不同的.pidb文件不同,但这不是策略信息的所在


我使用的是与Unity 3.5.2集成的MonoDevelop版本,即Windows 7上的MonoDevelop 2.8.2版本。是的,2.8.2有点过时,可能是Unity Technologies所做的更改导致了我的问题。

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

我花了大约30分钟来解决这个问题,并最终解决了它

在Windows中: 转到项目->装配C-Sharp选项

然后从那里更改代码格式


进入Project->Solution Options(项目->解决方案选项)完全不起任何作用

这比其他答案晚了一年,但是上面的任何一个都不适用于unity,这几乎是谷歌搜索的最热门

以下是我必须遵循的步骤,以使格式正常工作:

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

在“自定义策略”窗口中编辑策略,确保已选择策略

项目->应用策略->应用库存或自定义策略集选择您的策略->应用


经过一年的处理,我们编写了一个Unity编辑器脚本,它将监视项目文件的更改,当它们更改时,检查项目中的策略条目,非常简单的XML解析。如果他们偏离了我们想要的政策,我们会修改他们,并用正确的政策变更将他们写出来


我们想要强制执行策略的另一个想法是做同样的事情,但只要在更新策略条目时将其从项目中删除,那么您就永远不会让项目策略覆盖您在工具级别设置的内容。

Goto Tools->Options->KeyBinding 然后转到编辑->格式化文档
然后指定快捷键,单击应用并在文档中使用它

多谢胡奇,我尝试过使用这些设置,但它们没有什么区别。用更多的信息编辑我的问题。我可以更改选项,这不是问题所在。问题在于每次Unity重新生成我的解决方案时,代码格式策略都会重置为默认值。我想以某种方式克服默认值。这太棒了。由于Unity为每个新项目创建默认策略,因此重新创建我的样式变得非常令人沮丧。这正是我要找的!这将应用策略,但根据我的经验,它只会坚持到下一次Unity重新生成解决方案。更好的是,在解决方案级别应用策略右键单击解决方案,然后单击工具->应用策略,并将解决方案保存在新的文件名下。这样,Unity不会在每次重新生成项目时覆盖您的设置……除非这不意味着您直接在Unity中创建的任何脚本文件都不会添加到您的项目中,并且您必须手动添加它?