【问题标题】:Visual Studio : Automatically insert a space after typing if(Visual Studio:输入 if(
【发布时间】:2011-07-20 20:41:08
【问题描述】:

我们有一个代码样式检查器,它在每次签入之前运行,它要求 C# if 语句的格式如下:

if (condition)

但是,我的肌肉记忆已经发展到可以打字了:

if(condition)

如果我在没有它的情况下键入 if,是否有任何方法可以让 Visual Studio 2010 自动插入该空间?我知道您可以设置它,当您粘贴代码时,它会自动执行此操作,但在键入时不会。谢谢!

【问题讨论】:

  • 你问错问题了。正确的问题是:“我如何说服我的团队遵循理智的编码风格(即一种风格,它要求风格检查器只允许'if(condition)'并明确禁止'if(condition)')? "
  • "if (" 是根据公认的 C# 编码标准执行此操作的正确方法,并且大多数其他标准都需要在条件之前有一个空格,因为它发生了。"if(" 是完全错误的. 删除并重新插入类中的最后一个括号将为您正确格式化代码。

标签: c# visual-studio visual-studio-2010 coding-style code-formatting


【解决方案1】:

工具 > 选项 > 文本编辑器 > C# > 格式 > 间距 然后全选->按CTRL+K+D

【讨论】:

    【解决方案2】:

    Tools > Options > Text Editor > C# > Formatting > Spacing

    然后检查/勾选Insert space after keywords in control flow statements,它列在Set other spacing options 子组下。

    赢。

    【讨论】:

    • 哪个间距选项控制这个?
    • “在控制流语句中的关键字后插入空格” - 大概是下降了三分之一?
    • 在 VS 2015 中检查“其他间距选项 -> 在控制流语句的括号内插入空格”
    • 优秀。当编辑决定自己做这样的事情时,我无法忍受。总是给出 git 提交的问题。
    【解决方案3】:

    我有 Visual C#,但我记得在 Studio 中是一样的。

    1. 点击工具
    2. 点击选项
    3. 点击左侧菜单中的“文本编辑器”
    4. 点击左侧菜单中的“C#”
    5. 点击左侧菜单中的“格式化”
    6. 确保选中所有 3 个选项 在正确的区域。
    7. 点击左侧菜单中的“间距”
    8. 单击“在关键字后插入空格” 在右侧的控制流语句中 “设置其他”标题下的区域 间距选项”。
    9. 点击确定。

    【讨论】:

      【解决方案4】:

      是的,我想你正在寻找工具 -> 选项 -> 文本编辑器 -> C# -> 格式 -> 间距 -> 设置其他间距选项 -> 在控制流语句中的关键字后插入空格

      【讨论】:

        【解决方案5】:

        我的 VS2010 默认在右括号之后执行此操作。这是选项:

        工具 > 选项 > 文本编辑器 > C# > 格式化 > 常规 > 在 } 上自动格式化完成的块

        还有:

        工具 > 选项 > 文本编辑器 > C# > 格式 > 间距 > 设置其他间距选项 > 在控制流语句中的关键字后插入空格

        【讨论】:

        • 令人讨厌的是,它仅在您键入右括号后才适用。我相信 Resharper 会自动添加右括号,因此 vs 格式没有运行。有点蹩脚。
        • @CMP -- 是的,这似乎是我的情况。
        • 这很蹩脚,虽然它似乎也应该在 Resharper 中配置......事实上,这个问题似乎有设置:stackoverflow.com/questions/4208231/…(我不有 Resharper,所以我无法确认!)
        【解决方案6】:

        Resharper 将使用其默认格式设置执行此操作。 Ctrl+K+D 将格式化整个文档。我就是这样做的。看起来 VS 的格式化选项可能对你有帮助,但我从来没有玩过它们。

        由于这个以及许多其他原因,Resharper 完全值得。

        【讨论】:

        • 同意,唯一的缺点是除非你只从事开源工作,否则它不是免费的(虽然不是太贵)
        • 是的,我有 ReSharper,但我认为在这种情况下它会导致问题......它会自动插入右大括号,从而阻止 VS 的空间修复......嗯,我可以禁用它很容易分开。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-08-11
        • 1970-01-01
        • 2021-12-16
        • 2023-03-24
        • 2020-11-18
        • 1970-01-01
        相关资源
        最近更新 更多