Общий механизм воспроизведения файлов настроек заключается в том, что когда Sublime загружает файл sublime-settings
по имени, он вытягивает все файлы с одинаковыми именами во все известные пакеты и объединяет их вместе (то же самое происходит и для многих другихфайлы ресурсов) с содержимым из более поздних файлов, переопределяющим все, что появляется в более раннем файле.
Порядок , наложенный здесь , лексически определяется пакетом, при этом Default
всегда является первым, а User
всегда быть последнимВот почему настройки по умолчанию находятся в пакете Default
, а ваши пользовательские настройки - в пакете User
.Кроме того, применяются специфичные для синтаксиса настройки (как и настройки, специфичные для проектов).
Помимо этого механизма, нет прямого способа переопределить настройки без какого-либо ручного вмешательства с вашей стороны.Возможные решения для такого рода проблемы включают в себя следующие примеры:
1013 * Не синхронизировать
Preferences.sublime-settings
файл 1016 * Если файл не синхронизируются на нескольких машинах, то эта проблема становится спорным, потому чтокаждая машина может легко иметь свои собственные уникальные настройки.Недостатком этого является то, что каждая машина имеет свои уникальные настройки, что очень неприятно, если вы часто переходите с машины на машину, и вещи не совсем работают одинаково.
Использовать отдельно git
branch
Альтернативой здесь, если вы используете git
, таким как вы, является попытка сохранить отдельные ветви для хоста или для типа хоста (например, hi_dpi
и reg_dpi
или некоторые другие),Затем на каждой машине проверьте соответствующую ветку.
Очевидные недостатки здесь - это попытка синхронизировать желаемые изменения настроек (как для User
, так и для любых пакетов, которые вы можете установить) между ветвями, чтоэто менее чем идеально, если вы действительно не любите git
.
Используйте дополнительные Preferences.sublime-settings
файлы
Здесь идея заключается в том, что вы не включили параметр font_size
в свой User/Preferences.sublime-settings
файл на всех.Вместо этого вы используете Browse Packages
из палитры команд, чтобы открыть папку Packages
, а затем создаете новую папку с произвольным именем.Внутри этой папки есть файл Preferences.sublime-settings
, который содержит только настройку font_size
.
Делая это на нескольких машинах, вы можете синхронизировать настройки в папке User
на разных машинах, не синхронизируя предпочтение,содержит font_size
.Как примечание, если вы создаете файл, когда Sublime уже запущен, вам может потребоваться выйти и перезапустить, чтобы он заметил, что файл настроек существует;однако это применимо только один раз.
Используйте плагин
Если посмотреть по ссылке, приведенной выше, конечным козырем для любого параметра является параметр, который был применен непосредственно к view
,Учитывая это, вы можете использовать плагин, который выборочно всегда применяет определенный размер шрифта к любому вновь созданному или открытому файлу:
import sublime
import sublime_plugin
import socket
class CustomFontListener(sublime_plugin.EventListener):
hostname = socket.gethostname()
def on_new(self, view):
if self.hostname in ("host1", "host1.example.com", "host2"):
view.settings().set("font_size", 20)
on_load = on_new
Теперь каждый раз, когда вы открываете файл или создаете новый буфер, если текущее имя хостав списке, который вы настроили, представление немедленно получит соответствующий font_size
;в противном случае вместо него будет использоваться один из параметров.
Вы также можете расширить эту возможность для настройки через собственный файл настроек, применить другой размер шрифта в зависимости от имени хоста и т. Д.
Настройки в представлениях сохраняются в файле sublime-session
а также в файлах рабочей области, связанных с файлами sublime-project
, поэтому эти настройки будут оставаться в силе даже при перезапусках.
Следует иметь в виду, что внутренние команды для изменения размера шрифта (с помощьюPreferences > Font
или с помощью сочетаний клавиш колесика мыши) работайте, записывая новый font_size
в свои пользовательские настройки.
Если вы используете отдельные файлы предпочтений, то добавление font_size
к вашему User
настроек, и вам нужно будет вручную удалить его и изменить другой файл настроек.
Если вы используете плагин, то эти ярлыки, похоже, ничего не сделают, потому что он применяет font_size
, который переопределяет предпочтение User
, но на самом деле, как указано выше, ваш файл настроек в конечном итоге изменяется иВы можете не заметить это сразу.
Так что, каким бы способом вы не пошли, если вы склонны использовать их, вам может понадобиться вручную внести изменения в файлы настроек в последствии.Также возможно создавать более умные версии этих команд, если такое часто случается.