【问题标题】:Visual Studio 2012, formatting C#, insert a space before variable incrementing on AutoFormatVisual Studio 2012,格式化 C#,在 AutoFormat 上的变量递增之前插入一个空格
【发布时间】:2013-09-24 00:04:38
【问题描述】:

当我在 Visual Studio 2012 中自动格式化我的 C# 代码时,我希望在我的变量和“++”或“--”运算符之间有一个空格,即:

int i = 0; i++;

当我自动格式化代码时,我想在“i”和“++”之间留一个空格,即:

int i = 0; i ++;

我希望在选项、文本编辑器、C#、格式、间距下有一个选项;但我没有看到任何适用的内容。

【问题讨论】:

  • 你为什么需要这样的东西,我很难读懂 IMO。
  • 这不是我所知道的任何标准的常见变体(至少被认为是好的),并且没有在 VS 中配置的选项,可能是因为它完全无用并且可能会混淆.
  • 我想我不明白关于代码格式的非建设性意见是如何相关的。你想取笑我也喜欢的乐队吗?
  • 代码格式化不仅适合,你的音乐品味也一样。

标签: c# visual-studio-2012 formatting


【解决方案1】:

你说得对,在 Visual Studio 2012 或据我所知的任何版本中,没有用于处理递增/递减运算符的空格格式选项。

就像评论者指出的那样,++-- 运算符几乎在它所操作的变量之前或之后出现,这似乎是几乎普遍的做法。我理解您对代码格式偏好的立场,因此如果解决此问题对您的日常编码生活有那么大的影响,这里有一些建议:

查看 ReSharper,这是一种用于 Visual Studio 的生产力工具,能够扩展自动格式化。事实上,他们有一整节处理运算符周围的间距:

虽然不在列表中,但您可以向开发人员建议++-- 运算符的可能实现,因为占了绝大多数其他运算符。我想这也是你可以向 Visual Studio 团队提出的建议,但我不确定你会取得多大的成功。

扩展上述内容,您可以选择使用+=-= 运算符,它们具有自动间距功能。而不是:

int i = 0; i ++;

你会:

int i = 0; i += 1;

这与使用递增/递减运算符开始在功能上是等效的,并且不亚于正确或错误。我不确定 Visual Studio 是否具有开箱即用的此功能,但如果您愿意放弃 ++/-- 可能值得一看。

祝你好运。

【讨论】:

  • 是的,我承认这是不典型的,我只是想确保我没有遗漏一些明显的东西。我使用 Resharper,但我同意,如果它像整个问题中所指出的那样罕见,那么提交增强请求不会有多大好处。我想如果我真的一心要实现这个,我可以走宏/插件路线。干杯:)
  • 那个,或者改变操作符,虽然你确实失去了一些可读性。考虑到他们已经处理了大多数其他运营商,我认为这个建议并不过分。公平就是公平,对吧!默认情况下会保留一些,因此再添加一个也没什么大不了的。
猜你喜欢
  • 2021-12-09
  • 2011-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多