如何将选择填充到sublimeText3 ctrl + p overlay?

duX*_*ing 3 sublimetext

\Sublime Text Build 3065 x64\Data\Packages\Default\Default (Windows).sublime-keymap:

{ "keys": ["ctrl+p"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} },
Run Code Online (Sandbox Code Playgroud)

我想选择一个文本(文件路径),然后按ctrl + p将其填充到弹出面板.

修改后(但不起作用):

{ "keys": ["ctrl+p"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true, "text": "${0:$SELECTION}"} }
Run Code Online (Sandbox Code Playgroud)

r-s*_*ein 5

占位符不能应用于每个sublime命令,但必须由命令支持.但是,您可以轻松编写自己的插件来获取您的行为

打开Tools >> Developer >> New Plugin...,粘贴和保存:

import sublime_plugin


class ShowGotoOverlayWithSelectionCommand(sublime_plugin.WindowCommand):
    def run(self):
        window = self.window
        view = window.active_view()
        text = view.substr(view.sel()[0])
        window.run_command("show_overlay", {
            "overlay": "goto",
            "show_files": True,
            "text": text
        })
Run Code Online (Sandbox Code Playgroud)

然后打开您的keymap并添加命令:

{ "keys": ["ctrl+p"], "command": "show_goto_overlay_with_selection" },
Run Code Online (Sandbox Code Playgroud)