c# - Visual Studio : Is there a setting to delete whitespace a tab at a time?

标签 c# visual-studio

我正在使用最新的 VS 社区。假设我的光标就在这里:

enter image description here

当我按下删除键时,一个空格被删除了。有没有办法让它删除四个空格?这就是它在许多其他编辑器中的工作方式,包括 VS Code。

最佳答案

When I press delete, a space is deleted. Is there a way to make it so four spaces are deleted instead? That's the way it works in a lot of other editors, including VS Code.

许多编辑器,包括 Visual Studio (VS),都可以配置为将制表符显示为制表符或呈现为固定的空格数,说四 (4)。 (这是有原因的,每个都有自己的优点和缺点 - 另一天的主题)

我怀疑您在 VS Code (VSC) 中看到的是一个包含制表符的文件,并且 VSC 将 制表符显示为制表符(而不是空格)文本编辑器。在选项卡上点击 Delete 会让它看起来像一次删除了四个空格!

但是,您安装的 Visual Studio 可能会设置为将制表符显示为空格(我忘了这是默认设置),这解释了为什么您必须点击 Delete 更多超过一次压痕区域。

您可以通过选择Edit.Advanced.View White Space(我喜欢保持打开状态)来确认选项卡在 VS 中的显示方式。如果您看到小箭头,则表示存在制表符。如果您看到暗淡的句点符号,则它是一个空格。在下面的屏幕截图中,我们可以看到一个文件,其中的制表符呈现为空格。

enter image description here

如果制表符在 VS 中呈现为空格,这就解释了为什么必须按四次该键。

您可以通过选择 Tools.Options.Text Editor.C#.Tabs(假设文件是​​ C#)来控制是否希望始终有制表符或空格

enter image description here

设置完成后,“制表符”将是制表符或“n”个空格。然而,这仅适用于新文档,而且 VS 通常不会在保存时自动制表。

现在遍历每个文件,手动将所有内容转换为制表符格式是相当乏味的,所以幸运的是 VS 有一个相当简洁的功能,可以根据您的选择将文件转换为制表符或空格:

  1. 选项中指定您是否需要标签
  2. 打开有问题的文件(比如 C# 文件)。看起来像下图(糟糕!空格!):

enter image description here

  1. 选择Edit.Advanced.Format Document

enter image description here

  1. 文档现在是标签式的。删除你想要的。根据需要重复 2-4。

enter image description here

关于c# - Visual Studio : Is there a setting to delete whitespace a tab at a time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54836790/

相关文章:

c# - 使用运行时确定的类型实例化对象

c# - 如何将此 Parallel.ForEach 代码转换为异步/等待

visual-studio - 如何使用交互式 session 在远程 VS 代码的调试 session 中运行代码?

c# dropdownlist selectedindexchanged in gridview 设置第二个下拉列表的selectedindex

c# - 为什么在将数据源传递给 BindingSource 之前对其调用 .OrderBy 时,我的数据源的类型似乎发生了变化?

c# - 在 C# 中保存为事件

c++ - 使用自定义 C++ 头文件时出现编译时错误 - "std_lib_facilities.h"

C++比较字符串和字符

c++ - C++,关闭后如何使控制台应用程序在后台运行?

c# - 在右键单击菜单上打开属性页时 Visual Studio 2015 挂起