Вы можете редактировать функцию автопары. Я скопировал следующее из «Привязки клавиш - по умолчанию» в «Привязки клавиш - пользователь». Добавьте пробелы в значениях contents
. Вы можете сделать что-то подобное для квадратных и фигурных скобок. Первая настройка устанавливает его для нормального использования. Второй устанавливает его, когда у вас есть выделенный текст.
// Auto-pair brackets
{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "( $0 )"}, "context":
[
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true }
]
},
{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "( ${0:$SELECTION} )"}, "context":
[
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
Редактировать Чтобы сделать синтаксис привязки ключей специфичным, добавьте строку внизу значений context
. Вам нужно будет найти синтаксис scopeName
. Например, html - это text.html
а sass - это source.sass
.
{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "( $0 )"}, "context":
[
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true },
{ "key": "selector", "operator": "equal", "operand": "source.sass" }
]
},