除了持久设置之外,是否有动态方式启用和禁用不可见的空白区域显示,通过:
"draw_white_space": "all",
答案 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
请注意,虽然这会更改设置,但它会将设置直接应用于当前关注的视图,该视图是持久的,但仅限于有问题的视图,并且只有该视图处于打开状态时才会显示。这不会改变已打开的其他文件的设置,也不会改变您将来可能打开的任何新文件的设置;此类文件的默认值仍将是您在用户首选项中设置的设置。