Встановіть синтаксис за замовчуванням на різний тип файлу в Sublime Text 2


731

Як встановити тип файлу за замовчуванням для певного розширення файлу в Sublime Text 2? Зокрема, я хочу, щоб у файлах * .cfg за замовчуванням було виділено синтаксис Ini, але я не можу зрозуміти, як я можу створити це спеціальне налаштування.

Відповіді:


1597

У поточній версії Sublime Text 2 (Build: 2139) ви можете встановити синтаксис для всіх файлів певного розширення файлу, використовуючи опцію на панелі меню. Відкрити файл з розширенням , яке потрібно встановити значення за замовчуванням для і переміщатися по наступним меню: View -> Syntax -> Open all with current extension as... ->[your syntax choice].

Оновлено 2012-06-28: Останні збірки Sublime Text 2 (принаймні з моменту складання 2181) дозволили встановити синтаксис, натиснувши поточний тип синтаксису в правому нижньому куті вікна. Це відкриє меню вибору синтаксису з можливістю Open all with current extension as...вгорі меню.

Оновлено 2016-04-19: На сьогодні це також працює для Sublime Text 3.


2
Ви спробували Open all with current extension as...чи просто встановили синтаксис через вибір у Syntaxменю?
Колін R

Підтверджено. Вам потрібно перезапустити Sublime, щоб зміни залишилися. Крім того, це не змінює "активний" файл - ви можете це зрозуміти, подивившись праворуч внизу синтаксис, який він обрав. Хоча перезапуск виправляє це.
dmackerman

8
Чи можна це зробити на основі проекту? Наприклад, для одного проекту я, можливо, захочу синтаксис Mako для файлів .html; а інший може використовувати інший синтаксис.
Кен Кіндер

44
Це все ще метод, що використовується в ST3 (станом на збірку 3010). Здається, не потрібно перезавантаження, і всі активні файли з розширенням оновлюються автоматично.
tbeseda

3
@ziyuang - Переконайтеся, що у вас є курсор десь у відкритому файлі.
Річард Марскелл - Дракір

148

Перейдіть до Packages/User, створіть (або відредагуйте) .sublime-settingsфайл, названий за Синтаксисом, куди ви хочете додати розширення, Ini.sublime-settingsу своєму випадку, а потім напишіть там щось подібне:

{
    "extensions":["cfg"]
}

А потім перезапустіть Sublime Text


Примітка: Синтаксис, який ви хочете використовувати, відрізняється від регістру (наприклад, CSSдля css), і це буде заміняти його через інтерфейс користувача (див. Пост @ Colin)
ForbesLindesay

@Elland Я відкрив питання про проблему.
JJD

29
З піднесеним текстом 2/3 мені простіше відкрити файл, а потім вибрати синтаксис, який ти хочеш використовувати. Потім натисніть Налаштування-> Налаштування - Більше -> Синтаксис - Користувач. І він створить цей файл для вас. Просто вставте вищезгаданий код у, збережіть та перезавантажте.
kokorohakai

Використовується таким чином, оскільки мені вдалося видалити файл налаштувань, який
переосмислював

Чи є спосіб налаштувати це для конкретного проекту?
steinybot

21

У ST2 є пакет, який можна встановити під назвою FileType Default, який робить саме це.

Більше інформації тут .


1
This package sets the default file type of new files to be either the same as the current file, or a predefined default. Саме те, що я шукав! Спасибі
Рікардо Сапорта

в ST3, він також працює! просто потрібна робота вручну (збережіть DefaultFileType на шляху користувача ST3.
staticor

5

Ви можете увімкнути підсвічування синтаксису залежно від вмісту файлу.

Наприклад, мої Makefiles незалежно від їх розширення перший рядок наступним чином:

#-*-Makefile-*- vim:syntax=make

Це типова практика для інших редакторів, таких як vim.

Однак для цього вам потрібно змінити Makefile.tmLanguageфайл.

  1. Знайдіть файл (для Sublime Text 3 в Ubuntu) за адресою:

    /opt/sublime_text/Packages/Makefile.sublime-package
    

Зауважте, що це справді zip-файл. Скопіюйте його, перейменуйте в .zip в кінці та витягніть з нього файл Makefile.tmLanguage.

  1. Відредагуйте нове Makefile.tmLanguage, додавши клавішу "firstLineMatch" та рядок після розділу "fileTypes". У наведеному нижче прикладі останні два рядки є новими (слід додати їх). У <string>розділі міститься регулярний вираз, який дозволить виділити синтаксис для файлів, що відповідають першому рядку. Цей вираз розпізнає два шаблони: " -*-Makefile-*-" і " vim:syntax=make".

    ...
    <key>fileTypes</key>
    <array>
        <string>GNUmakefile</string>
        <string>makefile</string>
        <string>Makefile</string>
        <string>OCamlMakefile</string>
        <string>make</string>
    </array>
    
    <key>firstLineMatch</key>
    <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string>
    
  2. Розмістіть змінене Makefile.tmLanguageв каталозі налаштувань користувача:

    ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
    

Усі файли, що відповідають правилу першого рядка, повинні увімкнути підсвічування синтаксису при відкритті.


Це було корисно. Приємно знати, що це можливо, але редагування кожного файлу .sublime-пакета для кожного типу файлів, який може містити такий зразок, не є практичним. Тому я, мабуть, не буду використовувати цю функцію.
Тревіс Спенсер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.