【问题标题】:Can Visual Studio 2017 remove space around = like Vs2010?Visual Studio 2017 可以像 Vs2010 一样删除 = 周围的空间吗?
【发布时间】:2017-08-12 18:03:03
【问题描述】:

我设置 Visual Studio 以删除 C# 代码中的所有空格,包括声明/赋值。

我想要

int x = 5;

自动格式化

int x=5;

在 Visual Studio 2010 中,这可以正常工作,“忽略声明语句中的空格”选项已关闭。 在 Visual Studio 2017 中,根据我的设置删除了许多空格,例如围绕“+”或“,”,但不是分配。 我可以启用“忽略声明语句中的空格”,然后至少它不会在触发自动格式化时插入空格,但我希望它自动删除它们。 这是对 Vs2010 的回归吗?

我已取消选中所有用于插入空格的复选框并选择“删除二元运算符前后的空格”

Visual Studio 2013 也会出现同样的问题

【问题讨论】:

  • 即使我知道该怎么做,我也不会告诉你,那太糟糕了!我的意见当然是,但是啊! :)
  • 文本编辑器 - C# - 代码样式 - 格式 - 间距 - 为运算符设置间距 - 删除二元运算符前后的空格?
  • @GSerg 不适用于表达式赋值。
  • 这是我不喜欢这个的一个例子:Func<int,int> thing=x =>5;。对我来说,这是非常难以理解的。
  • 它应该看起来像 Func thing=x=>5;根据我喜欢的风格。不好意思,我已经习惯了,我只是想让vs2017和vs2010一样。

标签: c# visual-studio-2010 visual-studio-2017 autoformatting


【解决方案1】:

您应该查看工具 --> 选项 --> 文本编辑器 --> C# --> 格式 --> 间距,然后更改“设置运算符间距”下的选项。

【讨论】:

  • 我选择了“删除二元运算符前后的间距”,就像在 vs2010 中一样
  • 然后尝试关闭自动格式化。转到工具 --> 选项 --> 文本编辑器 --> C# --> 格式 --> 常规并取消选中所有框。然后,返回到 Spacing 选项卡并在允许您这样做的任何地方选中“忽略空格”。
  • 只有一个“忽略间距”。我想继续自动格式化,我希望我的代码按照我喜欢的样式进行格式化。