Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio:是否有一个每次删除选项卡空白的设置?_C#_Visual Studio - Fatal编程技术网

C# Visual Studio:是否有一个每次删除选项卡空白的设置?

C# Visual Studio:是否有一个每次删除选项卡空白的设置?,c#,visual-studio,C#,Visual Studio,我正在使用最新的VS社区。假设我的光标就在这里: 当我按delete键时,一个空格被删除。有没有办法让它删除四个空格?这就是它在许多其他编辑器中的工作方式,包括VS代码 当我按delete键时,一个空格被删除。有没有办法让它删除四个空格?这就是它在许多其他编辑器中的工作方式,包括VS代码 包括Visual Studio(VS)在内的许多编辑器都可以配置为将制表符显示为制表符,或呈现为固定数量的空格,例如四(4)。(这是有原因的,每个人都有自己的优点和缺点——这是另一天的话题) 我怀疑您在VS代

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

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

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

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

我怀疑您在VS代码(VSC)中看到的是一个包含制表符的文件,VSC在文本编辑器中将制表符显示为制表符(而不是空格)。在标签上点击Delete(删除)使其看起来像是一次删除四个空格

但是,您的Visual Studio安装可能会设置为将选项卡显示为空格(我忘了这是默认设置),这解释了为什么您必须在缩进区域上多次点击删除

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

如果选项卡在VS中呈现为空格,这就解释了为什么必须按四次键

通过选择Tools.Options.Text Editor.C#.tabs(假设文件为C#),可以控制是否始终使用制表符或空格

一旦设置完毕,“制表符”将为制表符或“n”个空格。但是这只适用于新文档,VS通常不会在保存时自动禁用

现在,最好是tedius遍历每个文件,手动将所有文件翻转为选项卡格式,这样幸运的是VS有一个相当整洁的功能,可以根据您的选项将文件转换为选项卡或空格:

  • 选项中指定是否需要选项卡
  • 打开有问题的文件(比如C#文件)。看起来像下图(恶心!空格!):
  • 选择编辑.Advanced.Format文档
  • 文档现在是选项卡式的。删除你想要的。根据需要重复2-4次

  • 删除空格的唯一内置方法就像删除制表符一样,就是移动制表符。否则,有一个名为TabSanity的插件,它可以满足您的需要:

    打开VisualStudio的“查看空白”(使用CTRL-R和CTRL-W切换)始终显示文件中的内容;它从不将选项卡“呈现”为空格,反之亦然


    使用shift tab返回选项卡。@alans这很有用。我仍然希望有一种方法,我不必改变我的行为,我可以只按delete。在你提到它之前,我从来不知道按backspace也会返回选项卡。我们都学到了新东西!谢谢你的详细回复。如果这是唯一的选项,我会选择这个选项,但我希望在按delete键时可以将空格视为制表符,但实际上它们是文件中的空格。这是intellij idea默认的工作方式。看,我是一个喜欢空格的人,但我不喜欢按多少次键来删除空白行,而且我习惯于按delete键来删除空白行时一次删除4个空格。VS能告诉我我在intellij中的习惯吗?如果没有,这是下一个最好的选择。@DanielKaplan谢谢!是的,我同意如果VS这么做的话,那会很棒的。我听过很多关于Jetbrain的IntelliJ的好消息,我相信这就是Jetbrains为R#提供的灵感。如果有什么可以在VS中删除空格的话,我想我们需要安装R#,但遗憾的是,我不知道R#有这个功能。制表符永远不会“呈现为空格”,反之亦然。缩进设置确定按下回车键时缩进的行为。制表符设置确定制表符字符的宽度和每个缩进的大小。在我的一生中,我无法理解为什么有人想要这些不同,但是:例如,如果缩进设置为“13”,而tab设置为“5”,那么第一级缩进将插入两个tab和三个空格。“它从不将”选项卡“呈现为空格”-也许,也许不是。当你考虑OP的标题“是否有一次删除空白”A<代码>标签>代码>和“声明”当我按下Delphi时,一个空间被删除了。有没有办法让它“<代码>四个空间< /代码>被删除?”很明显,在OP和我的脑海中,我们看到的是一种典型的与标签相关联的缩进表示。如果不是这样,人们就不会期望它神奇地删除4个空格。或者对于第三方工具,制表符占用的水平空间量不一定与缩进占用的水平空间量相同,“保留制表符”功能尽最大努力最大化缩进时使用的制表符字符数,如格式化或按ENTER或tab键时。我认为,您对制表符的偏好,以及将“制表符大小”和“缩进大小”设置为相同的值,可能会导致将两者合并,但这并不能实现Visual Studio可以设置为“将制表符显示为空格”的说法。我无法从OP中看出这种混乱。@MickyD为什么我们不“不希望它神奇地删除,比如说4个空格”?这是一个非常容易实现的行为,许多编辑器(包括VS代码)对此没有问题。因此我们同意,制表符呈现为空格。或者我们正在讨论两件完全不同的事情。我们要