在 Visual Studio 代码中复制并粘贴折叠文本

Copy & paste folded text in Visual Studio Code

给定以下文本

Node1_L1
  Node1_L2
  Node2_L2
Node2_L1
  Node3_L2
    Node1_L3
    Node2_L3
  Node4_L2
    Node3_L3
    Node4_L3
Node3_L1
  Node5_L2
  Node6_L2  

我可以使用 vscode 的内置折叠功能将其折叠成这样

+ Node1_L1
  Node2_L1
+   Node3_L2
+   Node4_L2
  Node3_L1
    Node5_L2
    Node6_L2

但是当我现在 select 折叠文本并复制并粘贴它时,它实际上抓住了所有文本 - 包括隐藏的文本。因此,复制和粘贴上面折叠文本的前 4 行的结果将是

Node1_L1
  Node1_L2
  Node2_L2
Node2_L1
  Node3_L2
    Node1_L3
    Node2_L3
  Node4_L2

而我想要

Node1_L1
Node2_L1
  Node3_L2
  Node4_L2  

希望这是有道理的,并且有人知道这样做的方法。谢谢!

也许还有另一种方法,但解决方法似乎是使用带有多个光标的块选择 - 请参见 GIF

如果selection不包括换行和回车return,折叠的内容将不会被复制。

selection 必须转到 select 折叠文本(隐藏文本)下一行的开头

https://github.com/Microsoft/vscode/issues/41922#issuecomment-359368290

操作员实际上想要 select 'unfolded' 忽略折叠文本的文本,因此他们需要使用 multi-line select 每个 selection 将跨越一行