#php #textmate
#php #textmate
Вопрос:
Мне нравится text mate, но иногда мне не хватает некоторых функций IDE.
Одним из которых является возможность автоматической проверки синтаксиса при вводе или после нажатия клавиши enter или клавиш со стрелками и т.д., Чтобы оставить строку.
в пакете textmate PHP вы можете проверить синтаксис с помощью сочетания клавиш Control-Shift-V. Это здорово, но для этого требуется пользовательский ввод. Я знаю, некоторые могут сказать, что это лениво, но я просто хочу увеличить скорость своего кодирования и не останавливаться для выполнения проверок.
есть ли способ заставить эту команду автоматически запускаться при возврате или выходе из текущей строки? прямо сейчас синтаксическая ошибка отображается в виде щелчка, можно ли это изменить, чтобы отобразить тип ошибки в строке? (ошибка, связанная с типом синтаксической цветовой темы).
Ответ №1:
Чтобы команда Validate Syntax выполнялась при каждом возврате, вы могли бы записать макрос. Во время записи выполните команду validate syntax и нажмите return. Сохраните свой макрос и присвоите ему ключ, эквивалентный ключу возврата. Теперь, когда вы нажимаете return, это переопределяет поведение по умолчанию, заключающееся в простой вставке возврата, и вместо этого запускает команду, а затем вставляет возврат. Поскольку вы, вероятно, не хотите, чтобы это происходило всегда (например, если вы редактируете файлы, отличные от PHP), установите область действия макроса на source.php
.
Чтобы ошибка отображалась в файле, а не во всплывающей подсказке, вам нужно либо отредактировать существующую команду Validate Syntax, либо дублировать ее и использовать дубликат вместо этого, установив для вывода значение Insert as Text вместо Show as Tool Tip.
Комментарии:
1. БЛЕСТЯЩЕ! это делает именно то, что мне нужно! кстати, оказывается, подсказка достаточно хороша, потому что она автоматически отправляет ваш курсор на строку для первой ошибки. хотя в итоге я делаю это наоборот, сначала вставляю новую строку, а затем выполняю проверку синтаксиса, потому что в противном случае курсор переходит к ошибке, а затем вводит новую строку.
2. Теоретически это отличная идея. Однако на практике это не работает. Например, если вы введете
if ($something = 1) {
, а затем нажмете клавишу enter, действие validate подумает, что файл недействителен. И это не создаст новую строку. Когда это должно позволить вам создать новую строку, чтобы вы могли затем ввести}
для завершения инструкции if.