消除 Visual Studio 中不正常的折叠/展开行为

消除 Visual Studio 中不正常的折叠/展开行为

折叠是文件的一部分,由行和井号包围,顶部是文件内容和行号之间的 + 或 - 图标。我认为误解源于我使用 Notepad++ 的术语来表示此功能。

我正在编辑 .css 文件,不确定这个折叠是如何出现在文件末尾的。我无法删除它,因为它与括号或区域无关。我假设有一个空格字符创建了它,所以我尝试使用 显示空格字符Ctrl+RCtrl+W但没有显示与之相关的内容。现在,每次我在文件末尾添加新行时,这个折叠都会让我选择从该任意行折叠到文件的其余部分,即使添加了带有自己折叠的新括号和区域。

我还发现这个问题的答案这建议关闭大纲,但这样做有两个问题:

  1. 它关闭了大纲全部的文件。
  2. 它隐藏了问题,因为当重新打开文件时,异常折叠会再次出现。

文件末尾没有新行,因此无需折叠:

文件末尾没有新行,因此无需折叠。

折叠消耗了文件的末尾:

折叠占据了文件末尾

即使有了新的折叠组,仍会继续使用文件末尾的内容:

即使有新的折叠组,仍会继续使用文件末尾的内容

通过一些剪切、换行和删除操作,我可以将折叠部分移至文件上方:

通过一些剪切、换行和删除,我可以将折叠部分移到文件上方

通过一些类似的操作,我可以将折叠移回文件末尾:

通过一些类似的操作,我可以将折叠移回文件末尾

但无论我做什么,我都不能消除折叠。从最后一张图的状态中退格并删除只会将折叠移回文件上方,并在末尾添加换行符时重新出现。

编辑 2:我在文件上方的另一个 #region 标签上发现了另一个异常折叠。这两个折叠仅存在于此文件中,因为我的所有其他 .css 文件都正确显示其区域。

我还在 Notepad++ 中仔细检查了这些文件,它正确显示了所有用花括号括起来的可折叠区域,#region 似乎是 Visual Studio 格式的效果。

编辑 3:我现在在 .html 文件中发现了另一个流氓折叠,它占据了与 div 相同的行(html 元素充当它们自己的花括号部分)。这个折叠的奇怪之处在于它不会占用文件的其余部分。相反,它将所有内容隐藏在两个完全空白的行之间(在我将其移出 div 之后),我怀疑我之前编辑中提到的另外两个折叠也是这样做的,但我无法将它们的末尾与文件末尾分离(原因很明显)。

相关内容