插入空行而不缩进

时间:2017-02-12 22:03:05

标签: visual-studio-code

我正在写一些python,我想插入一个没有任何缩进的空行,例如按Enter或Enter + cmd

if foo == "foo":
    foo.bar()
    foo.bar()
    foo.bar()
    # cursor is here 
    foo.baz()
    foo.baz()
    foo.baz()
    foo.baz()

我希望它是

if foo == "foo":
    foo.bar()
    foo.bar()
    foo.bar()
# cursor is here 
    foo.baz()
    foo.baz()
    foo.baz()
    foo.baz()

我相信这与Visual Studio CTRL + Enter

类似

在崇高中,我创建了一个命令

[
    {
        "args":
        {
            "characters": "\n"
        },
        "command": "insert"
    },
    {
        "args":
        {
            "to": "hardbol"
        },
        "command": "move_to"
    },
    {
        "args":
        {
            "file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"
        },
        "command": "run_macro_file"
    }
]

2 个答案:

答案 0 :(得分:2)

您正在寻找的是两个命令的组合:

  • ctrl + 输入 editor.action.insertLineAfter
  • ctrl + k ctrl + x editor.action.trimTrailingWhitespace

有一个feature request for macro like keybindings。在此期间,您可以尝试the macros extension,一个接一个地使用快捷方式,或者......

将以下内容添加到keybindings.json文件中,该文件基本上提供 ctrl + 输入 ctrl + m 完全符合您需要的快捷方式。

[
    {
        "key": "ctrl+m",
        "command": "editor.action.trimTrailingWhitespace",
        "when": "editorTextFocus && !editorReadonly"
    }
]

答案 1 :(得分:-1)

你想要实现的目标是什么?

Python使用行缩进而不是括号来创建代码块。上面提到的代码可以在任何文本编辑器中完成,但会引发异常,因为Python会期待指令。

如果你的意图是要做一个什么也不做的空语句,那么试试:

if foo == 'foo':
     pass

Pass明确告诉系统继续操作而不做任何事情。

如果您希望出于风格原因这样做,那么您正在咆哮错误的树。为了使Python起作用,必须在if语句后缩进下一行。当缩进消失时,告诉python它已经完成了该块并留下了if语句。