chciałem dodać krótki edit do odpowiedzi przez @ user1936097.
Skopiowałem pomysł, ale chciałem załadować IPython (kod działa poprawnie, aby załadować standardowy Python). Wymieniłem ...
self.window.run_command('repl_open',{"type": "subprocess",
"encoding": "utf8",
"cmd": ["python2.7", "-i", "-u", "$file"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python2.7"
})
z ...
self.window.run_command('repl_open', {
"type": "subprocess",
"encoding": "utf8",
"autocomplete_server": true,
"cmd": ["python","-u","${packages}/SublimeREPL/config/Python/ipy_repl.py"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python",
"extend_env": {
"PYTHONIOENCODING": "utf-8",
"SUBLIMEREPL_EDITOR": "$editor"}
})
Ale to nie działa.
Wydaje się, że przyczyną problemu była linia "autocomplete_server": true
. Jeśli go usunąłem, kod został uruchomiony, ale IPython otworzył zamknięte. Jeśli go zostawiłem, nic się nie stało.
końcu pożyczyłem polecenia w pliku /SublimeREPL/config/Python/Default.sublime-commands
i wymyślił ...
self.window.run_command('run_existing_window_command', {
"id": "repl_python_ipython",
"file": "config/Python/Main.sublime-menu"
})
To sprawiło, że ostateczny kod wtyczki:
import sublime, sublime_plugin
class PydevCommand(sublime_plugin.WindowCommand):
def run(self):
self.window.run_command('set_layout', {"cols":[0.0, 1.0], "rows":[0.0, 0.5, 1.0], "cells":[[0, 0, 1, 1], [0, 1, 1, 2]]})
self.window.run_command('run_existing_window_command', {
"id": "repl_python_ipython",
"file": "config/Python/Main.sublime-menu"
})
self.window.run_command('move_to_group', { "group": 1 })
przypisać ten do keybind jak pokazano na oryginalny post, a teraz załadujesz IPython zamiast standardowego Pythona!
Dzięki! to jest dokładnie to, czego potrzebowałem !! Czy można otworzyć terminal replikacji jako podzielone okno w poziomie lub jako okno zewnętrzne? – user1936097
Myślę, że to jest możliwe z makro http://stackoverflow.com/questions/9646552/is-it-possible-to-chain-key-binding-commands-in-sublime-text-2 – sneawo
Czy to nie ma większego sensu jako reguła budowania? – dbn