You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sublime Text3开发包新增列表输入处理器后命令报unexpected keyword错误

错误原因

Sublime Text 会自动为未显式指定name()方法的InputHandler生成参数名,生成规则为:移除类名末尾的InputHandler后缀,再将大驼峰命名转换为蛇形命名。
你定义的RedeployModuleInputHandler类按规则生成的参数名为redeploy_module,但你在RedeployJobCommand.run()方法中声明接收的参数是module,二者不匹配,Sublime自动传入redeploy_module参数时就会触发参数不匹配的报错。

解决方案

可任选以下任意一种方案修复:

方案1:为InputHandler显式指定参数名

在RedeployModuleInputHandler类中添加name()方法,返回你需要的参数名module,不需要修改其他逻辑:

class RedeployModuleInputHandler(sublime_plugin.ListInputHandler):
    # 新增name方法显式指定参数名
    def name(self):
        return "module"
    
    def placeholder(self):
        return "Module to create template for"

    def list_items(self):
        return [("Manager (v1)", "manager"),
                ("Projects (v2)", "projects")]

方案2:修改所有引用的参数名

将run()方法的参数、next_input和input方法里的参数判断统一改为自动生成的redeploy_module,同时注意把参数补到你的执行命令里:

class ProjectNameInputHandler(sublime_plugin.TextInputHandler):
    def placeholder(self):
        return "Project's name - must already exist"

    def next_input(self, args):
        # 改为判断自动生成的参数名
        if 'redeploy_module' not in args:
            return RedeployModuleInputHandler()


class RedeployJobCommand(sublime_plugin.WindowCommand):
    # 参数改为自动生成的名称
    def run(self, project_name, redeploy_module):
        plugin_path = str(os.path.dirname(__file__))
        template_cli = "\"{}\\template-python-cli\\cli.py\"".format(plugin_path)

        folder = self.window.extract_variables()['folder']
        # 补入module参数到执行命令
        args = "redeployJob {} {}".format(project_name, redeploy_module)
        command = "echo 'python {} {}'".format(template_cli, args)
        self.window.run_command("exec", {
            "shell_cmd": command,
            "working_dir": folder
        })

    def input(self, args):
        if 'project_name' not in args:
            return ProjectNameInputHandler()
        # 改为判断自动生成的参数名
        elif 'redeploy_module' not in args:
            return RedeployModuleInputHandler()

内容的提问来源于stack exchange,提问作者Itération 122442

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:24:04