使空间像Visual Studio中的选项卡一样工作的提示

时间:2013-05-28 21:36:00

标签: c# xml visual-studio-2010 visual-studio

在工作中,我们有使用 4个空格进行代码缩进的约定。我习惯使用tabs进行缩进,但想要遵循约定。

注意:我不打算在这里开始讨论空格与标签。

我调整了我的Visual Studio设置以用4个空格替换标签,但是我在调​​整使用空格时遇到了一些问题。

例如:

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

  • 如何确保始终有正确的空格量 (不是三五个)?

  • 如何使用标签快速浏览我的代码? (向左或向右箭头跳跃 到带有制表符的下一个缩进,但只移动一个带空格的位置)

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

理想情况下,我希望缩进的这4个空格能够同等地用于制表符。

我主要使用c#和基于XML的文件。

欢迎任何提示!

2 个答案:

答案 0 :(得分:12)

令人遗憾的是Visual Studio没有实现智能的unindent。您甚至可以在最简单的免费记事本编辑器中找到此功能。

幸运的是,为了简化使用 Backspace 删除的自动取消,jedmao(Jed Hunsaker)有一个很棒的插件TabSanity

  

此包会导致Visual Studio文本编辑器处理   tabs-as-spaces就好像它们实际上是标签一样。也就是退格   并删除键,箭头键导航和鼠标光标文本选择   (即将推出)不允许插入符号在该空间内着陆   形成一个标签。

请注意,它需要另外一个很酷的插件,EditorConfig

两者都强烈推荐用于“标签为空格”的文字疯子。

快乐编码!

答案 1 :(得分:10)

要取消缩进,请突出显示该行,然后按 Shift + Tab 。或者只是定位到该行的开头并点击 Shift + Tab

此外,点击 Tab 将输入正确的空格数,以便在下一个4空间边界对齐。

为确保缩进正确,您可以突出显示代码区域并选择编辑 - >高级 - >格式选择,或者您可以直接到块的末尾,删除结束括号,然后将其添加回来。 IDE将重新格式化您的代码。

所以,如果你有这个:

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

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