Sublimetext3 如果侧边栏打开,如何在键绑定中检测?

Sublimetext3 如果侧边栏打开,如何在键绑定中检测?,sublimetext3,sublimetext2,sublimetext,sublimetext-snippet,Sublimetext3,Sublimetext2,Sublimetext,Sublimetext Snippet,我想cmd+1在侧边栏中显示(如果关闭)和侧边栏打开(如果打开)之间切换 如果关闭:{“keys”:[“super+1”],“command”:“在侧栏中显示”} 如果打开:{“keys”:[“super+1”],“command”:“toggle_side_bar”} 我不知道如何做if部分 . 谢谢据我所知,没有内置的键绑定上下文可以用来判断侧边栏是打开的还是关闭的。但这可以使用轻松完成,特别是使用窗口。is_sidebar_visible(),还可以创建自定义键绑定上下文 从工具菜单,导航

我想
cmd+1
在侧边栏中显示(如果关闭)和侧边栏打开(如果打开)之间切换

如果关闭:
{“keys”:[“super+1”],“command”:“在侧栏中显示”}

如果打开:
{“keys”:[“super+1”],“command”:“toggle_side_bar”}

我不知道如何做
if
部分
. 谢谢

据我所知,没有内置的键绑定上下文可以用来判断侧边栏是打开的还是关闭的。但这可以使用轻松完成,特别是使用
窗口。is_sidebar_visible()
,还可以创建自定义键绑定上下文

从工具菜单,导航到开发者>新插件。然后将视图的内容替换为:

import sublime, sublime_plugin

class SidebarContextListener(sublime_plugin.EventListener):
    def on_query_context(self, view, key, operator, operand, match_all):
        if key != 'sidebar_visible' or not (operand in ('reveal', 'toggle')):
            return None
        visible = view.window().is_sidebar_visible()
        if operand == 'toggle' and visible:
            return True
        if operand == 'reveal' and not visible:
            return True
        return None
并将其保存在ST建议的文件夹(
Packages/User
)中,类似于
sidebar\u context.py
——扩展名很重要,名称不重要

现在,我们可以在您的键绑定中使用它,例如:

{ "keys": ["super+1"], "command": "toggle_side_bar", "context":
    [
        { "key": "sidebar_visible", "operand": "toggle" },
    ],
},

{ "keys": ["super+1"], "command": "reveal_in_side_bar", "context":
    [
        { "key": "sidebar_visible", "operand": "reveal" },
    ],
},

据我所知,没有内置的键绑定上下文可以用来判断边栏是打开的还是关闭的。但这可以使用轻松完成,特别是使用
窗口。is_sidebar_visible()
,还可以创建自定义键绑定上下文

从工具菜单,导航到开发者>新插件。然后将视图的内容替换为:

import sublime, sublime_plugin

class SidebarContextListener(sublime_plugin.EventListener):
    def on_query_context(self, view, key, operator, operand, match_all):
        if key != 'sidebar_visible' or not (operand in ('reveal', 'toggle')):
            return None
        visible = view.window().is_sidebar_visible()
        if operand == 'toggle' and visible:
            return True
        if operand == 'reveal' and not visible:
            return True
        return None
并将其保存在ST建议的文件夹(
Packages/User
)中,类似于
sidebar\u context.py
——扩展名很重要,名称不重要

现在,我们可以在您的键绑定中使用它,例如:

{ "keys": ["super+1"], "command": "toggle_side_bar", "context":
    [
        { "key": "sidebar_visible", "operand": "toggle" },
    ],
},

{ "keys": ["super+1"], "command": "reveal_in_side_bar", "context":
    [
        { "key": "sidebar_visible", "operand": "reveal" },
    ],
},

免责声明:这是我在手机上写的,所以如果出现语法错误或其他什么问题,请原谅我。另外,请随意编辑答案并进行修复:)谢谢你-它看起来真的很好,但我需要深入python文档并对文档进行升华,然后才能首先修复它。使用(轻微)我在上面做的编辑对我来说似乎还可以。请注意,切换侧边栏的命令与您的想法不同。上面的代码现在对你有用吗?免责声明:我是在手机上写的,所以如果出现语法错误或其他问题,请原谅我,它不起作用-另外,请随意编辑答案并进行修复:)谢谢你-它看起来真的很好,但我需要深入到python文档并对文档进行升华,然后才能首先修复它(轻微)我在上面做的编辑对我来说似乎没问题。请注意,切换侧边栏的命令不是你所想的。上面的代码现在对你有用吗?