Перейти к содержимому

Sublime text как сделать подсветку синтаксиса

  • автор:

How To Make a Custom Syntax Highlighting for Sublime Text

Sublime Text editor has built-in syntax highlighting support for too many languages. In case none of the supported highlightings covers your needs you can create your own. The idea of writing custom syntax definitions first came to light (for me) while looking at the log files generated by one of our games (By the way, I am working at PeakGames and we are building awesome mobile games). If the log file contains a lot of information it may be difficult to see the most important parts. Using tools like grep does not really help if you want to see the whole context.

Here is a step by step guide to write your custom syntax highlighting for Sublime Text editor:

1. Install ‘Package Control’

Package Control is a package manager for Sublime Text that makes it simple to find, install and keep packages up-to-date.

2. Install ‘PackageDev’ Package

PackageDev is a Sublime Text package that helps create and edit syntax definitions, snippets, completions files, build systems and other Sublime Text extension files.

3. Create A New Syntax Definition

After installing PackageDev, create a new syntax definition file through Tools | Packages | Package Development as seen in the screenshot below.

PackageDev new syntax definition

4. Define Your Syntax

Defining a syntax is simply writing regular expressions to find text in the document. Here is an official documentation about writing syntax definitions for Sublime Text. In this step you need to write regular expressions to match the text in your documents. I have used this online tool to test the regular expressions.

Below is a syntax definition file for our logs. It is good for a starting point because it is simple.

Line Number Keyword Description
3 name Name of your syntax definition. You can select syntax of the document in Sublime Text by View->Syntax as seen in the screenshot below.
4 scopeName This will be used while defining colors in the color theme definition files.
5 fileTypes Sublime text automatically chooses your syntax definition if the file type matches. You can choose the syntax definition explicitly by View->Sytax menu.

Syntax Choosing

5. Define Your Colors

In this step we are going to set colors and text styles (bold, italic vs). Our syntax definition will match the text with the regular expressions and the color theme will change the color and style of the displayed text. Open your favorite color theme. Here is the path to the theme file for Monokai in my computer.

Below is a sample that defines color and text style for text.command pattern (this was defined in the syntax definition on line 9 in the gist above).

That’s it. Now the log files are looking much more meaningful when opened in the Sublime Text editor.

Sublime text как сделать подсветку синтаксиса

Sublime text — это мощный текстовый редактор, который имеет широкий выбор встроенных средств для подсветки синтаксиса. С помощью подсветки синтаксиса вы можете лишь взглянув на открытый документ, понять какой именно язык программирования или разметки используется в нем. Она позволяет вам более быстро и легко ориентироваться в документе, и добавляет дополнительные возможности для вашего кода.

Как настроить подсветку синтаксиса в Sublime Text

Настраивать подсветку синтаксиса в Sublime Text очень просто. Откройте документ, который вы хотите отформатировать. Наведите курсор на документ и правой кнопкой мыши щелкните по документу. В появившемся меню выберите пункт «Изменить синтаксис». В списке языков выберите тот, который вы хотите использовать для подсветки синтаксиса. Например, для программирования на JavaScript вы можете выбрать «JavaScript». Далее вы увидите, что ваш документ отображается с подсвеченным синтаксисом.

Sublime Text также поддерживает автоматическую подсветку синтаксиса. Для этого вы должны настроить автоопределение языка. Для этого в меню Sublime Text выберите пункт «Настройки», а затем выберите «Настройки проекта». В появившемся окне прокрутите до раздела «Syntax Specific» и в поле «Syntax Specific — User» введите строку «auto_detect_indentation»: true». Теперь при открытии документа Sublime Text будет автоматически определять язык и подсвечивать его синтаксис.

Вы также можете использовать плагины для добавления дополнительных типов подсветки синтаксиса. Например, для добавления подсветки синтаксиса для языка Python вы можете использовать плагин «Python Improved». Настройка плагина очень проста, вы можете найти подробные инструкции на их сайте. После установки плагина ваши документы будут подсвечены синтаксисом Python.

В заключение можно сказать, что настройка подсветки синтаксиса в Sublime Text очень простая задача. Вы можете выбрать нужный язык в меню «Изменить синтаксис», или настроить автоматическое определение языка в настройках проекта. Вы также можете использовать плагины для добавления дополнительных типов подсветки синтаксиса. Используя подсветку синтаксиса, вы сможете быстро и легко ориентироваться в вашем коде.

Sublime Text 3 — пользовательская подсветка синтаксиса

Расширяемость Sublime Text не знает границ. Для тех, кому мало стандартных функций, на Хабре уже рассказывали о том, как создать сниппет, как написать простой плагин, как написать сложный плагин и еще много много чего. Про ручную настройку подсветки синтаксиса толком ничего не смог найти: для кого-то слишком очевидно, кому-то просто не нужна, а кому-то и наверняка же пригодится.

Итак, задача: имея какие-нибудь абстрактные логи доступа в wonder-net:

выделить:
Дату-время — фиолетовым курсивом;
Номер карты — желтым курсивом, если не в черном списке или красным, если иначе;
ip-адрес — темно-зеленым, если не в черном списке или красным, если иначе;
scod=хх — темно-зеленым если 00 или красным, если иначе.

В нашу цветовую схему нужно добавить стили, которыми мы собираемся подсвечивать текст. Насколько я понял, все цветовые схемы аккуратно собраны в файле c:\Program Files\Sublime Text 3\Packages\Color Scheme — Default.sublime-package.

Файл представляет собой zip архив без сжатия. Распаковываем, выбираем любимую схему (по умолчанию Monokai.tmTheme) и копируем ее в…(запускаем Sublime Text: меню Preferences — Browse Packages) папку User.

Открываем свежескопированный Monokai.tmTheme для редактирования. В самом низу перед закрывающимся добавляем блоки стилей. Стиль может содержать три параметра: background, foreground и fontStyle. fontStyle в свою очередь bold, italic и underline.

фиолетовый курсив будет выглядеть так:

жирный желтый(ЖЖ):

2. В той же папке User создаем файл синтаксиса: wonderLog.tmLanguage с содержимым:

На примере видно, что если несколько регулярных выражений претендуют закрасить цвет по-разному, то приоритет будет у того, которое описано выше (первее).

Выбираем пользовательскую цветовую схему: Preferences — Color Scheme — User — Monokai.

Открываем наш чудо-лог (если расширение файла не совпадает с шаблонным, делаем View — Syntax — wonderLog) и наслаждаемся результатом:

Как включить подсветку синтаксиса в Sublime Text 3

Когда вы пишете код, использование гибкого текстового редактора может быть очень полезным. Sublime Text 3 — очень гибкий текстовый редактор с множеством полезных функций. Одна из этих функций называется «Подсветка синтаксиса». Подсветка синтаксиса применяет цвета к синтаксису в вашем коде, чтобы с первого взгляда было легче понять, что означают определенные части кода. Подсветка синтаксиса также может сделать код более читабельным, поскольку структура более визуально определена.

Подсветка синтаксиса применяет цвета к синтаксису кода как способ повысить визуальную четкость и облегчить чтение.

Совет: Синтаксис — это набор правил, описывающих структуру языка. Синтаксис может сильно различаться между языками.

Подсветку синтаксиса можно настроить в соответствии с синтаксисом любого из 74 языков и вариантов языков, включенных в Sublime Text 3.

Совет: выделение синтаксиса применяется ко всему документу, невозможно настроить часть кода для использования другого набора правил выделения синтаксиса.

Как включить подсветку синтаксиса

Чтобы вручную включить подсветку синтаксиса в документе, нажмите «Просмотр» на верхней панели, затем наведите указатель мыши на «Синтаксис» примерно на полпути вниз раскрывающегося списка. Затем выберите язык, который вы используете, во втором уровне раскрывающегося списка. После выбора языка Sublime Text будет использовать подсветку синтаксиса для этого языка.

Чтобы включить подсветку синтаксиса, нажмите «Просмотр» на верхней панели, затем наведите указатель мыши на «Синтаксис» и выберите свой язык программирования из списка.

В качестве альтернативы, если вы сохраните документ с поддерживаемым расширением файла, Sublime Text 3 автоматически применит подсветку синтаксиса для этого языка. Например, если вы сохраните документ с расширением файла «.py» для документов Python, тогда Sublime Text 3 автоматически включит подсветку синтаксиса Python.

Совет: Чтобы отключить выделение синтаксиса, выберите «Обычный текст» из списка поддерживаемых языков.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *