SublimeText 3 - 动态启用/禁用不可见的空白选项

时间:2017-09-12 03:03:06

标签: sublimetext3

除了持久设置之外,是否有动态方式启用和禁用不可见的空白区域显示,通过:

"draw_white_space": "all",

1 个答案:

答案 0 :(得分:3)

控制空白区域显示状态的唯一方法是更改​​您在问题中引用的设置draw_white_space

// Set to "none" to turn off drawing white space, "selection" to draw only the
// white space within the selection, and "all" to draw all white space
"draw_white_space": "selection",

对于许多这样的布尔值设置,您可以将一个键绑定到toggle_setting命令,告诉它要在哪个设置之间切换。但是,对于draw_white_space选项的情况,它需要"all""selection""none"的字符串参数,因此标准切换命令将不起作用。< / p>

以下是一个简单的插件,它实现了一个toggle_white_space命令,可以为您执行此操作。要使用它,请从菜单中选择Tools > Developer > New Plugin...,在此处用插件代码替换您看到的存根代码,然后将其保存为Sublime默认位置的.py文件(您的{{ 1}}包):

User

定义的命令采用名为import sublime import sublime_plugin class ToggleWhiteSpaceCommand(sublime_plugin.TextCommand): def run(self, edit, options=["none", "selection", "all"]): try: current = self.view.settings().get("draw_white_space", "selection") index = options.index(current) except: index = 0 index = (index + 1) % len(options) self.view.settings().set("draw_white_space", options[index]) 的可选参数,允许您指定要在其间切换的值,默认为所有可能的选项。

您可以直接将一个键绑定到该命令,以在设置的所有可能值之间切换设置的状态,或者如果您只想在它始终打开和始终关闭之间切换,请使用以下内容,例如:

options

请注意,虽然这会更改设置,但它会将设置直接应用于当前关注的视图,该视图是持久的,但仅限于有问题的视图,并且只有该视图处于打开状态时才会显示。这不会改变已打开的其他文件的设置,也不会改变您将来可能打开的任何新文件的设置;此类文件的默认值仍将是您在用户首选项中设置的设置。