2

在 sublime 中,如果你输入,alert("{<cursor>它会自动完成右括号和引号到:alert("{<cursor>}")

在 Visual Studio 中,如果您点击选项卡,它会将光标放在自动完成字符的末尾。

我怎样才能在崇高的情况下复制这种确切的行为?如果您无论如何都必须输入这些字符或使用箭头键,我认为自动完成没有多大意义。

4

2 回答 2

3

基于@AGS 的回答和您的评论,有两种可能的选择。第一个(如果您不使用 OS X)是点击End,这会将光标移动到行尾(eol)。

第二种选择是将@AGS 的键盘映射稍微修改为以下内容:

{ 
    "keys": ["shift+enter"], "command": "move_to", "args": {"to": "eol", "extend": false}, "context":
    [
        { "key": "following_text", "operator": "regex_contains", "operand": "^[)\"\\]\\}\\$]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]   
}

eol功能绑定到ShiftEnter,并包括正则表达式支持,如果您愿意,可以将其删除。

我希望这有帮助!

于 2013-11-13T15:00:39.210 回答
2

编辑您的.sublime-keymap文件并添加

// Skip past round and square autocomplete brackets
    { 
        "keys": ["shift+enter"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "following_text", "operator": "regex_contains", "operand": "^[)\"\\]\\}\\$]", "match_all": true },
            { "key": "auto_complete_visible", "operator": "equal", "operand": false }
        ]   
    },

在这种情况下,shift + enter将像tab在 Visual Studio 中一样运行。

该解决方案最初不是我的 - 我在这里或 ST2 论坛上找到了它。

于 2013-11-13T12:37:49.967 回答