Подсветка синтаксиса Notepad ++ в файле php


1

Мне нравится Notepad ++, частично из-за его подсветки синтаксиса: в файле .php он будет выделять <script>блоки как javascript, <style>блоки как css и <?phpблоки как php. В идеале вы должны поместить этот javascript и css в отдельные файлы, но, конечно, это не главное.

Теперь я знаю, что Notepad ++ также имеет подсветку SQL (например, по умолчанию в файлах .sql), но теперь мне интересно, как я могу получить это «внутри» моего php-файла. Проблема, конечно, в том, что в SQL-запросах нет точно открывающих и закрывающих тегов, а просто строки, передаваемые в функцию php. Но, возможно, есть что-то встроенное, что можно использовать, что-то вроде того, как <editor-fold>в NetBeans будет обозначать сворачиваемый блок кода, но вместо этого что-то, что будет обозначать строку как SQL. Также может быть внутри самой строки SQL, что-то вроде

$query = <<<END
-- START_SQL
SELECT `field` FROM `table` WHERE 1
-- STOP_SQL
END;

Или, что еще лучше, путем настройки в верхней части файла в комментариях или даже в настройках Notepad ++, которые функции принимают строки SQL в качестве атрибутов (тогда вам это не нужно каждый раз внутри вашего кода).

Так или иначе, есть способы, но один из них уже существует?


phpStorm включает подсветку синтаксиса следующим образом (также работает для CSS, JS, HTML, ...). По-видимому, это не доступно в Notepad ++, но это похоже на очень хорошее соглашение, которое они тоже могут добавить. (К сожалению, новые строки не работают в комментариях, как здесь, поэтому используйте свое воображение) $query = <<<SQL SELECT `field` FROM `table` WHERE 1 SQL;
Sygmoral

Ответы:


0

Не NP ++, но редактор SynWrite : он может использовать один лексер внутри другого. Например, в лексере PHP откройте диалоговое окно «Свойства Lexer» и на вкладке «Сублексеры» добавьте правило для SQL. Это может быть строка с SQL с некоторыми отметками.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.