【问题标题】:Get a setting value, from file located in non-standard dir从位于非标准目录中的文件获取设置值
【发布时间】:2017-04-05 06:40:21
【问题描述】:

Sublime 的目录结构是这样的:

Packages
   |-- Foo
   |    |-- Markdown.sublime-settings
   |
   |-- Bar
   |    |-- plugin.py
   |
   |-- User
        |-- Markdown.sublime-settings

然后,我试图获得一个wrap_width 值,存储在Foo/Markdown.sublime-setting 中。出于某种原因,load_setting 方法似乎不起作用,尽管 save_settings 工作正常。

import sublime
import sublime_plugin

class MarkdownSettings(sublime_plugin.EventListener):
    def on_activated(self, view):

        path = view.file_name()
        if path:

            e = view.file_name().split('.')[1]
            if e == ("md" or "mmd"):

                # Simple test. It works
                x = sublime.load_settings("Markdown.sublime-settings")
                wrap_width = x.get("wrap_width")
                print(wrap_width) # Prints 50

                # If I change directory to "../Foo", `load_setting` method would not work
                x = sublime.load_settings("../Foo/Markdown.sublime-settings")
                wrap_width = x.get("wrap_width")
                print(wrap_width) # Prints None

                # The code below is added just for demonstration purposes,
                # to show that `save_setting` method works fine.
                x = sublime.load_settings("../Foo/Markdown.sublime-settings")
                x.set("wrap_width", 20)
                sublime.save_settings("../Foo/Markdown.sublime-settings") # File updated

我怎样才能获得存储在Foo/Markdown.sublime-settings 中的wrap_width 值?

【问题讨论】:

    标签: sublimetext2 sublimetext3 sublimetext sublime-text-plugin


    【解决方案1】:

    不支持使用带有load_settings 的路径。

    来自http://www.sublimetext.com/docs/3/api_reference.html#sublime

    加载命名设置。该名称应包括文件名和扩展名,但不包括路径。将在包中搜索与base_name 匹配的文件,并将结果整理到设置对象中。随后使用base_name 调用load_settings() 将返回相同的对象,并且不会再次从磁盘加载设置。

    如果你真的需要这样做,你应该改用sublime.decode_value(sublime.load_resource('Packages/Foo/Markdown.sublime-settings'))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多