可以在语言,C#,类型成员布局中的ReSharper选项中设置成员的顺序。 Resharper正确地做到了。但是,我想排除某些包含JSONProperty
属性的类。
例如,请参阅下面的课程。我不想让Resharper对其中的成员重新排序。
internal class ExecutionParametersJson
{
[JsonProperty("Factor")]
public string Factor { get; set; }
[JsonProperty("Penalty")]
public string Penalty { get; set; }
[JsonProperty("Origin")]
public string Origin { get; set; }
[JsonProperty("InterFactor")]
public string InterFactor { get; set; }
}
我正在使用最新版本的Resharper。
有人能告诉我如何配置Resharper来实现这个目标吗?
实际上,我尝试将Order属性放入其中。但这没有任何区别。
[JsonProperty("Factor", Order = 1)]
public string Factor{ get; set; }
答案 0 :(得分:1)
但是,我想排除某些包含JSONProperty属性的类。
是的,可以很容易地完成。
鉴于此代码,请注意我所包含的其他属性纯粹是为了证明以后的要点:
internal class ExecutionParametersJson
{
[JsonProperty("Factor")]
public string Factor { get; set; }
public string SomeProperty { get; set; }
[JsonProperty("Penalty")]
public string Penalty { get; set; }
[JsonProperty("Origin")]
public string Origin { get; set; }
public int SomeOtherProperty { get; set; }
[JsonProperty("InterFactor")]
public string InterFactor { get; set; }
}
...然后选择 Resharper.Options.Code Editing.c#.File Layout ,出现模式列表:
选择您喜欢的模式。在这里,我选择了默认模式。我过去一直在增加它,所以它可能看起来不同。
选择属性,索引器,确保排序依据设置为名称。
双击属性,索引器。条件编辑器出现。添加顶级和条件; 不并指定 JsonProperty 。
现在对相关文件运行 Resharper.Edit.Cleanup Code 。除具有JsonProperty
属性的属性外,所有属性都将按字母顺序排序,并放入标题为属性的region
。
internal class ExecutionParametersJson
{
#region Properties
public int SomeOtherProperty { get; set; }
public string SomeProperty { get; set; }
#endregion
[JsonProperty("Factor")]
public string Factor { get; set; }
[JsonProperty("Penalty")]
public string Penalty { get; set; }
[JsonProperty("Origin")]
public string Origin { get; set; }
[JsonProperty("InterFactor")]
public string InterFactor { get; set; }
}
现在我在这里包含的其他属性只是为了证明你如何有条件地格式化成员。随意删除这些属性; #region
或根据您的喜好自定义。
您可能希望稍微整理一下,并在Resharper中创建一个名为 JSON Classes 的特定模式。