Установите синтаксис по умолчанию для другого типа файла в Sublime Text 2

Как мне установить тип файла по умолчанию для определенного расширения файла в Sublime Text 2? В частности, я хочу, чтобы для файлов * .cfg по умолчанию использовалась подсветка синтаксиса Ini, но я не могу понять, как я могу создать этот настраиваемый параметр.


person keiththomps    schedule 27.09.2011    source источник


Ответы (4)


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

Обновлено 28 июня 2012 г .: Последние сборки Sublime Text 2 (по крайней мере, начиная со сборки 2181) позволяют устанавливать синтаксис, щелкая текущий тип синтаксиса в правом нижнем углу окна. Это откроет меню выбора синтаксиса с опцией Open all with current extension as... в верхней части меню.

Обновлено 19 апреля 2016 г .: На данный момент это также работает для Sublime Text 3.

person Colin R    schedule 04.11.2011
comment
Вы пробовали Open all with current extension as... или просто задавали синтаксис с помощью выбора в меню Syntax? - person Colin R; 25.10.2012
comment
Подтвержденный. Вам необходимо перезапустить Sublime, чтобы изменения вступили в силу. Кроме того, это не меняет активный файл - вы можете убедиться в этом, посмотрев в правом нижнем углу на выбранный синтаксис. Однако перезапуск исправляет это. - person dmackerman; 29.11.2012
comment
Можно ли это сделать для каждого проекта? Например, для одного проекта мне может понадобиться синтаксис Mako для файлов .html; в то время как другой может использовать другой синтаксис. - person Ken Kinder; 05.12.2012
comment
Этот метод по-прежнему используется в ST3 (начиная со сборки 3010). Похоже, перезагрузки не требуется, и все активные файлы с расширением обновляются автоматически. - person tbeseda; 04.02.2013
comment
@tb. В моем ST3 все варианты отключены (серый) - person ziyuang; 06.05.2013
comment
@ziyuang - Убедитесь, что курсор находится где-нибудь в открытом файле. - person Richard Marskell - Drackir; 25.05.2013
comment
@ziyuang, файлы, которые вы редактируете, должны иметь расширение. - person user1429980; 05.10.2013
comment
Дополнительный вопрос: как мне получить файлы с именем build, даже если они имеют #!/bin/bash shebang, не с форматированием по умолчанию NAnt Build File? - person PJSCopeland; 18.09.2015
comment
Как добиться того же с файлами без расширений (например, Makefile)? Я также не могу изменить его содержимое, как предлагается в другом ответе. - person Vadim Kotov; 09.10.2017
comment
столько лет ставил вручную, и так легко было установить автоматически)) - person Ruslan Valeev; 20.06.2020

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

{
    "extensions":["cfg"]
}

А затем перезапустите Sublime Text

person kizu    schedule 28.09.2011
comment
N.B. Синтаксис, который вы хотите использовать, чувствителен к регистру (например, CSS для css), и это переопределит настройку его через пользовательский интерфейс (см. Сообщение @ Colin) - person ForbesLindesay; 10.01.2013
comment
@Elland Я открыл проблему для этой проблемы. - person JJD; 19.01.2013
comment
Я считаю, что с возвышенным текстом 2/3 проще открыть файл, а затем выбрать синтаксис, который вы хотите использовать. Затем нажмите «Настройки» - «Настройки» - «Еще» - «Конкретный синтаксис - Пользователь». И он создаст для вас этот файл. Просто вставьте приведенный выше код, сохраните и перезапустите. - person kokorohakai; 16.06.2013
comment
Используется таким образом, потому что мне удалось удалить файл настроек, который переопределял мои настройки через пользовательский интерфейс. - person turbo2oh; 27.11.2013
comment
Есть ли способ настроить это для конкретного проекта? - person steinybot; 07.10.2015
comment
ПРИМЕЧАНИЕ. Если ваши файлы имеют двойные расширения (например, some_page.html.erb в Ruby on Rails), обязательно добавьте {"extensions": ["html.erb"]} - простое добавление ["erb"], по крайней мере, в настоящее время не работает. - person Bryan Dimas; 06.09.2017
comment
Это отлично работает в Sublime 3 для файлов scss.liquid (файлов с двойными расширениями). Я добавил SCSS.sublime-settings с содержимым: {extensions: [scss.liquid]} и wammo bammo. Это красиво! - person Cliff Ribaudo; 02.11.2017

В ST2 есть пакет, который вы можете установить, под названием Default FileType, который делает именно это.

Дополнительная информация здесь.

person trejox    schedule 09.01.2012
comment
This package sets the default file type of new files to be either the same as the current file, or a predefined default. Именно то, что я искал! Спасибо - person Ricardo Saporta; 12.11.2012
comment
в ST3 тоже работает! просто нужна ручная работа (сохраните DefaultFileType в пользовательском пути ST3. - person staticor; 10.11.2014

Вы можете включить подсветку синтаксиса в зависимости от содержимого файла.

Например, мои Makefile независимо от их расширения первая строка выглядит следующим образом:

#-*-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
    

Все файлы, соответствующие правилу первой строки, должны включать подсветку синтаксиса при открытии.

person elomage    schedule 24.11.2015
comment
Это было полезно. Приятно знать, что это возможно, но редактирование каждого файла .sublime-package для каждого типа файла, который может содержать такой шаблон, нецелесообразно. Поэтому я, вероятно, не буду использовать эту функцию. - person Travis Spencer; 05.03.2016