Похоже, что Sublime Text 3 build 3200 нарушил команду run_existing_window_command
.Как указано в в этом ответе , решение состоит в том, чтобы вместо этого вызвать команду, которую использует элемент меню SublimeREPL.
Если вы перейдете в каталог пакетов Sublime Text 3 (по умолчанию AppData/Roaming/Sublime Text 3/
)в Windows), вы можете увидеть установленные вами пакеты.Из этого каталога, если вы откроете SublimeREPL/config/Python/Main.sublime-menu
, вы увидите большой файл ole json, который выглядит примерно так:
[
{
"id": "tools",
"children":
[{
"caption": "SublimeREPL",
"mnemonic": "R",
"id": "SublimeREPL",
"children":
[
{"caption": "Python",
"id": "Python",
"children":[
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "P",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
}
<---snip--->
]}
]
}]
}
]
Обратите внимание, что самый внутренний ключ children
представляет собой список словарей с command
с и args
.Мы собираемся скопировать их в файл sublime-keymap
и заменить уже существующие command
и args
.Например, ваш ярлык для открытия REPL Python теперь будет выглядеть так:
"keys": ["f1"],
"command": "repl_open",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-u", "$file_basename"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
Нажатие F1
теперь должно работать так же, как раньше.