在 Sublime Text 3 中复制范围

Copy scopes in Sublime Text 3

当我在 Sublime Text 3 中工作时,我将插入符号指向语法元素,然后按下 Ctrl + Shift + Alt + P。在状态栏中显示范围语法。

如何复制作用域?

我用谷歌搜索并找到了 2 个解决方案:copy_scope_to_clipboard and cope_scope 插件。我建立了这些插件,但它们对我不起作用。也许,这些插件是为 Sublime Text 2 编写的,但我使用的是 Sublime Text 3。

谢谢。

如果要复制光标下的作用域,可以打开ST控制台ctrl+`写入sublime.set_clipboard(view.scope_name(view.sel()[0].b))。这将提取第一个光标下的范围并将其写入剪贴板。

如果你想把它打包成一个插件,只需打开 Tools >>> New Plugin... 并粘贴:

import sublime, sublime_plugin

class CopyScopeCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        view = self.view
        sublime.set_clipboard(view.scope_name(view.sel()[0].b))
        sublime.status_message("Scope copied")

然后将其粘贴到您的键盘映射以将其绑定到键绑定 Ctrl+Alt+Shift+C:

{
    "keys": ["ctrl+alt+shift+c"],
    "command": "copy_scope",
},