Метод settings().get()
только с одним параметром всегда будет возвращать None
, если этот параметр не существует, поэтому тот факт, что вы явно получаете значение, противоположное ожидаемому, указывает на то, что параметры файлы загружаются.
Это подтверждается settings.has()
, возвращающим True
, что указывает на то, что параметр с таким именем действительно существует в иерархии параметров, на которые ссылается объект settings
.
Ваши результаты свидетельствуют о наличии более одного файла настроек с одинаковым именем. sublime-settings
файлы - это один из многих файлов ресурсов пакета, которые additive
; то есть, когда эти ресурсы загружены, Sublime ищет в каждом пути в каждом известном пакете файл с таким именем и загружает его, объединяя результаты вместе.
Эта additive
природа объясняет, почему sublime.load_settings()
требует, чтобы вы указали только имя файла настроек, а не его путь; указывать путь не имеет смысла, так как в любом случае он загружает несколько файлов.
Порядок загрузки нескольких файлов очень определенно определен , и при загрузке файлов их содержимое применяется поверх результатов предыдущей загрузки, что позволяет каждому последующему файлу либо переопределять настройку, либо добавлять новые.
Вы можете использовать метод sublime.find_resources()
API для определения файлов, которые существуют и загружаются (если есть); результаты перечислены в порядке их загрузки.
>>> sublime.find_resources("AddToFile.sublime-settings")
['Packages/User/AddToFile.sublime-settings']
Как видно, у меня есть только один файл с этим именем. В вашем случае я бы предположил, что их больше, чем один, и тот, чье содержимое вы показали выше, появляется в списке раньше, чем какой-либо другой файл с другими настройками, поэтому ваши настройки не имеют значения, которое вы думаю, что это так.