如何在 VS Code 中隐藏任意代码段?
Posted
技术标签:
【中文标题】如何在 VS Code 中隐藏任意代码段?【英文标题】:How do you hide arbitrary section of code in VS Code? 【发布时间】:2017-10-19 00:33:38 【问题描述】:我所说的“VS Code”是指轻量级文本编辑器而不是单片 IDE,不幸的是,在 google 上搜索此内容会发现许多关于如何在 Visual Studio 中执行此操作的不相关信息。
对于问题本身,任何人都知道如何在“Visual Studio Code”中隐藏任意选定的代码行,最好像折叠一样隐藏成加号?
注意: 这与折叠嵌套代码不同,这可能可以通过 Ctrl+K,Ctrl+<num>
实现,我需要在这里隐藏选择的特定代码块,不管是否嵌套。
编辑:我看到有些人不理解我的要求。
例如,你可能认为我想要的是这样的:
隐藏前:
for i in j:
for k in i:
for l in k:
somestuff...
隐藏后:
[+] for i in j: ...
我真正想要的是:
隐藏前:
# doing stuff about a
a = ClassA()
a.bar()
a.i = 2
a.j = 3
a.k = 5
隐藏后:
[+] ... ( doing stuff about a )
2017.10.17 编辑: 事实证明 VS Code 在 VS Code 1.17.1 更新中实现了一个非常相似的功能,称为“折叠区域”。 link
【问题讨论】:
【参考方案1】:您可以使用以下分隔符进行代码折叠:
C/C++: #pragma region and #pragma endregion
C#: #region and #endregion
CSS: /* #region */ and /* #endregion */
Java: //region and //endregion
javascript: //#region and //#endregion and //region and //endregion
php: #region and #endregion
Powershell: #region and #endregion
Python: #region and #endregion
VB: #Region and #End Region
见https://github.com/Microsoft/vscode/issues/12146([折叠]折叠区域)
【讨论】:
【参考方案2】:不幸的是,VSCode 目前似乎不允许您像 Visual Studio 那样通过 Ctrl+M,Ctrl+H。现在您可以使用代码折叠功能,这取决于缩进。也就是说,如果你缩进你想隐藏的代码,你可以通过 Ctrl+Shift+[ 折叠它,像这样:
显然,这对您的问题来说是一种丑陋的解决方案;它需要多个步骤并对文件进行实际更改。此外,如果您使用 Python 等依赖空格的语言进行编写,这显然是没有用的,但我认为您不会找到更好的解决方案,而不是找到扩展(或自己编写)。如果此功能对您很重要,也可能值得在 the official VSCode GitHub repo 上发布问题。
【讨论】:
回想起来,你的回答很有创意,而且在那一刻几乎是正确的,很抱歉我没有选择你,因为这可能不适用于某些缩进敏感的语言。 @Sajuuk 不用担心,我承认这是答案的一部分。理想情况下,它应该是 vscode 自己做的事情。 现在剖析一些 C 代码,并试图隐藏代码块,而不仅仅是折叠它。由于某种原因,缩进技巧不起作用,但我在我想隐藏的块周围添加了#if 1
和 #endif
并完成了它:)谢谢你的想法!【参考方案3】:
使用缩进减少的分隔符进行注释。 隐藏然后像嵌套一样工作,左边的小箭头。
see here
# Below here comes the code to hide.
a = ClassA()
a.bar()
a.i = 2
a.j = 3
a.k = 5
【讨论】:
以上是关于如何在 VS Code 中隐藏任意代码段?的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio Code (VS Code) 中将一段代码注释掉的两种方法
如何在 VS Code 中配置 terraform 代码的对齐和缩进?