2015-03-28 3 views
0

Я использую Sublime CodeIntel, который мне нравится для autocomplete, однако он всплывает и вставляет слова, пока я пытаюсь вставить вкладки. Я хочу, чтобы вкладка всегда вставляла вкладку, если символ перед моим курсором не является буквой.Я хочу, чтобы вкладка вставляла вкладку в Sublime Text, но активировала автозаполнение

Я считаю, что это может быть сделано с пользователем keymap для ключа вкладки, чтобы посмотреть на контекст, но я не знаю, как это сделать.

ответ

0

Нечто подобное должно работать. Возможно, вам придется играть с порядком привязки клавиш. Добавьте следующую ваш пользователь ключевых привязок

{ 
    "keys": ["tab"], "command": "insert", "args": {"characters": "\t" }, "context": [ 
     { "key": "preceding_text", "operator": "regex_contains", "operand": "[^a-zA-Z]$", "match_all": true } 
    ] 
} 

Обратите внимание, что я не установлено SublimeCodeIntel, поэтому не знает, как он будет вести себя с этим.

Как хороший отладочный совет, введите sublime.log_commands(True) в ST-консоль, чтобы увидеть, какая команда выполняется для конкретной привязки ключа. Может быть полезно подтвердить, что команда работает, как вы ожидаете.

+0

Спасибо! Это работает, я немного изменил регулярное выражение. '{" key ":" before_text "," operator ":" regex_contains "," operand ":" \\ s $ "," match_all ": true}' –

0

Быстрая работа вокруг будет использовать Autohotkey, если вы находитесь в окнах. можно назначать любые клавиши на 4 пробела, как показано ниже

`:: 
Send {Space 4} ; when pressed ` enters four times Space bar 
Return 
+0

Спасибо, но это не то, что я хочу. Мой ключ вкладки отлично работает, за исключением случаев, когда автозаполнение появляется, когда я действительно хотел ввести вкладку. Мне нужен ключ вкладки, чтобы быть «умным» и знать, когда уместно показывать автозаполнение, а когда нет. Это можно определить по контексту. Либо я занят написанием слова (должен показывать автозаполнение), либо я не (должен набирать вкладку). –

0

Попробуйте эту вкладку ... Overrides ключ функционировать как отступа ключа и вставки вкладки полукокса только

Настройки> привязок ключей

[ 
    { "keys": ["tab"], "command": "insert", "args": {"characters": "\t"} }, 
    { "keys": ["tab"], "command": "reindent", "context": 
     [ 
      { "key": "setting.auto_indent", "operator": "equal", "operand": true }, 
      { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 
      { "key": "preceding_text", "operator": "regex_match", "operand": "^$", "match_all": true }, 
      { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true } 
     ] 
    }, 
    { "keys": ["tab"], "command": "indent", "context": 
     [ 
      { "key": "text", "operator": "regex_contains", "operand": "\n" } 
     ] 
    }, 
    { "keys": ["tab"], "command": "next_field", "context": 
     [ 
      { "key": "has_next_field", "operator": "equal", "operand": true } 
     ] 
    } 
] 

 Смежные вопросы

  • Нет связанных вопросов^_^