2017-01-28 12 views
2

Поэтому проблема заключается в том, чтобы назначить это Escape без переопределения любых других функций. Я пробовал следующее, но это не работает.Как спрятать Sublime inline errors (фантомы) с Escape

{ 
    "keys": ["escape"], 
    "command": "exec", 
    "args": {"hide_phantoms_only" : true }, 
    "context": [ { "key": "phantom_visible", "operator": "equal", "operand": true }], 
}, 

Я не нашел никаких документов, на которых существуют контекстные клавиши, так phantom_visible было только предположение.

+2

хороший вопрос - к сожалению, кажется, нет контекста atm, чтобы сообщить, когда видны фантомы ошибки сборки: https://forum.sublimetext.com/t/keyboard-binding-to-dismiss-inline-build-errors/21956 –

ответ

2

К сожалению, на данный момент Sublime Text (на момент написания статьи 3126) не имеет контекста, который вы можете использовать в привязке клавиш, чтобы указать, когда показаны фантомы при построении строки. Это было короткое время discussed in the ST forums, поэтому возможно, что в будущем сборке будет включена эта функциональность.

В то же время, вдохновленный this post, мы могли бы попытаться создать привязку клавиш, которая не будет конфликтовать с поведением Esc. Но стоит иметь в виду, что комбинации клавиш по умолчанию может измениться таким образом, мы должны следить за ним при обновлении ST, чтобы увидеть, является ли это по-прежнему актуальна/правильно охватывает все сценарии:

{ "keys": ["escape"], "command": "exec", "args": { "hide_phantoms_only": true }, 
    "context": 
    [ 
     // inverse of all the "escape" key contexts found in the Default keybindings 
     { "key": "num_selections", "operator": "equal", "operand": 1 }, 
     { "key": "has_next_field", "operator": "equal", "operand": false }, 
     { "key": "has_prev_field", "operator": "equal", "operand": false }, 
     { "key": "panel_visible", "operator": "equal", "operand": false }, 
     { "key": "overlay_visible", "operator": "equal", "operand": false }, 
     { "key": "auto_complete_visible", "operator": "equal", "operand": false } 
    ] 
}