您可以使用
editor.action.deleteLines
删除当前行,方法是按 Ctrl + Shift + K。
但是,删除该行后,光标将不会向上移动,如 IntelliJ 中所示。我现在没有看到此功能的内置选项,但您可以创建自己的宏来使用 macros 扩展来执行此操作。配置只需几分钟。
将以下内容添加到您的
settings.json
文件中以创建一个名为 deleteLinesUp
的宏,该宏将删除该行,然后向上移动光标。
"macros": {
"deleteLinesUp": [
"editor.action.deleteLines",
"cursorUp"
]
},
打开您的
keybindings.json
文件并添加以下内容以覆盖 Ctrl + Shift + K,以便它调用 deleteLinesUp
而不是 deleteLines
。
{
"key": "ctrl+shift+k",
"command": "macros.deleteLinesUp"
}
现在它将按照您的意愿运行。此外,您可以将此宏绑定到您想要的任何组合键。
您想要安装HungryDelete扩展。
它改变了退格键的行为。当您在只有空格的行中按退格键时,它会擦除整行并将光标向上移动,这与问题中演示的 JetBrains 编辑器的行为相同。
如果没有扩展,VS Code 不支持此功能。这是问题票的主题空行末尾的退格键不会删除整行并转到上面行的末尾#42785。我建议您对该问题票竖起大拇指以表示支持。您还可以订阅它以获取有关讨论和进展的通知。请避免在那里发表嘈杂的评论,比如只包含“+1”/“bump”的评论。
如果有一个上下文键包含当前行中光标之前的文本,甚至包含当前行的全部内容,您可以编写一个键绑定来使用各种编辑器命令(例如
cursorUpSelect
->cursorEndSelect
->deleteLeft
,或 deleteAllLeft
+deleteLeft
)在 runCommands
中,并带有使用 匹配运算符 的 when 子句。但可惜没有。
jasonlhy.hungry-delete
(我与此扩展没有任何关系)。
转到文件 -> 首选项 -> 键盘快捷键
搜索“删除所有左侧”和“删除所有右侧”
并添加您的按键,我更喜欢使用 Ctrl+Shift+Backspace 和 Ctrl+Shift+End