在Visual Studio中使空格像制表符一样工作的技巧



在工作中,我们有使用4个空格进行代码缩进的惯例。我习惯使用tabs进行缩进,但希望遵循惯例。

注意:我不打算在这里开始讨论空格和制表符。

我调整了Visual Studio设置,将制表符替换为4个空格,但我在调整使用空格时遇到了一些问题。

例如:

  • 如何轻松地取消缩进代码?与tab字符,我只有需要使用backspace一次,对于空格我需要使用backspace4次。

  • 我如何确保总是有正确的空格量(不是三个或五个)?

  • 我怎样才能导航通过我的代码尽可能快,我可以与制表符?(箭头向左或向右跳跃

  • 如何在比较文件时忽略空白更改?

理想情况下,我希望这些缩进的4个空格与制表符一样有效。

我主要处理c#和基于xml的文件。

欢迎任何提示!

很遗憾Visual Studio没有实现智能缩进。您甚至可以在最简单的类似记事本的免费编辑器中找到此功能。

幸运的是,为了简化退格删除的自动缩进,有一个很棒的插件,由jedmao (Jed Hunsaker)的TabSanity。

此包使Visual Studio文本编辑器处理制表符作为空格,就好像它们实际上是制表符一样。也就是退格还有删除键、箭头键导航和鼠标光标文本选择(即将到来)将不允许插入符号在空格内着陆创建制表符

注意,它需要依赖另一个很酷的插件EditorConfig.

强烈推荐这两种方法用于"tab -as-空格"文本狂。

<子>编码快乐!

要取消缩进,突出显示该行并按Shift+Tab。或者只是定位到行首,然后按Shift+Tab

同时,按Tab将输入正确的空格数,以在下一个4-space边界对齐。

为了确保缩进是正确的,您可以突出显示代码区域并选择Edit -> Advanced -> Format Selection,或者您可以直接转到块的末尾,删除结束大括号,然后将其添加回去。IDE会重新格式化你的代码。

那么,如果你有这个:

void foo()
{
  f();
     int q = 32;
   for (; q > 0; --q)
     {
    // really messed up indentation
   }
  }

然后删除并重新添加最后的'}'将重新格式化整个方法

最新更新