Если вы в основном хотите компилировать и запускать Java-программы, то вам нужна система сборки (см. Полную ссылку здесь). В меню « Preferences
выберите « Browse Packages...
и перейдите в папку « Packages/Java
» и откройте JavaC.sublime-build
:
{
"cmd": ["javac", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java"
}
Это предполагает, что javac
находится в PATH
используемом Sublime, вам может потребоваться изменить его в соответствии с настройками вашей системы. Вы можете запустить эту систему сборки, сначала сохранив файл .java
, затем выбрав Tools -> Build System -> JavaC
или Tools -> Build System -> Automatic
, а затем нажав Ctrl B (⌘ B на Mac).
Чтобы запустить полученный файл .class
, измените JavaC.sublime-build
на следующее:
{
"cmd": ["javac", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"working_dir": "${project_path:${file_path}}",
"variants": [
{
"name": "Run",
"cmd": ["java", "$file_name"],
"shell": true,
"env": {"CLASSPATH": "/path/to/jar/files:/path/to/more/jars"}
}
]
}
Затем вы можете использовать комбинацию клавиш Ctrl Shift B (ift Shift B на Mac), чтобы выполнить вариант Run
системы сборки. "working_dir": "${project_path:${file_path}}"
выполняет сборку из каталога, содержащего ваш .sublime-project
, если у вас его нет, по умолчанию используется каталог, содержащий исходный код .java
. "shell": true
запускает "cmd"
через оболочку, будь то cmd.exe
, bash
или что угодно. В противном случае он просто выводится через консоль Sublime. Словарь "env"
позволяет вам добавлять пары Key: value переменных среды, которые вы можете установить только для сеанса сборки. Это может быть в разделе "Variants"
или основной, в зависимости от ваших потребностей.
Для получения дополнительной информации просмотрите две ссылки, которые я предоставил в начале - вместе они содержат массу информации и некоторые полезные примеры систем сборки. Вы также можете просматривать подпапки каталога Packages
и проверять любые .sublime-build
которые вы найдете для идей - их имена перечислены в разделе Tools -> Build System
(т. Е. Система сборки "Python" находится в Packages/Python/Python.sublime-build
).
В ответ на ваш оригинальный вопрос, Sublime просто не предназначен для поддержки полноценного эмулятора терминала. Хотя вы можете запускать произвольные команды, используя subprocess.Popen()
Python'а, я предпочитаю использовать фантастический плагин SublimeREPL
(доступный через Package Control) вместе с IPython
. Существует множество зависимостей, но easy_install ipython[all]
должен позаботиться о большей части этого за вас, как при установке через менеджер пакетов, такой как MacPorts
, yum
, apt-get
и т.д. Для Windows предустановленные двоичные файлы доступны от Christoph Репозиторий Gohlke's Python Extension Pack для Windows, который содержит ссылки на все обязательные и необязательные зависимости. Убедитесь, что вы используете установку Python.org Python.
После того, как Python и IPython установлены в вашей системе и в PATH
Sublime, а SublimeREPL установлен, перейдите в Tools -> SublimeREPL -> Python -> Python - IPython
и вы должны начать работу на мгновение. Чтобы выполнить команду оболочки, просто добавьте к ней префикс !
- например:
In [1]: !ls
будет перечислять содержимое текущего рабочего каталога, в то время как
In [2]: files = !ls
назначит эти имена переменной. Имейте в виду, однако, что команды, как !cd ..
фактически не меняет текущий рабочий каталог, вам нужно запустить:
In [3]: import os
In [4]: os.chdir('..')
сделать это. Здесь очень полезна документация по функциям файлов и каталогов модуля os
(измените 2
в URL на 3
если вы используете Python 3), что поднимает еще одну сильную сторону этой системы: у вас может быть несколько версий Python в вашей системе, и не должны зависеть от урезанной версии 2.6, поставляемой с Sublime Text 2. Сохраните следующее в Packages/User/SublimeREPL/config/Python/Main.sublime-menu
и настройте его по своему вкусу:
[
{
"id": "tools",
"children":
[{
"caption": "SublimeREPL",
"mnemonic": "r",
"id": "SublimeREPL",
"children":
[
{
"caption": "Python",
"id": "Python",
"children":[
{
"command": "repl_open",
"caption": "Python 3",
"id": "repl_python3",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["/opt/local/bin/python3", "-i", "-u"],
"cwd": "/Users/YourNameHere/Development/python",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python3",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
},
{
"command": "repl_open",
"caption": "IPython 3",
"id": "repl_ipython3",
"mnemonic": "p",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["/opt/local/bin/ipython", "-i", "--pylab=osx", "--colors=NoColor"],
"cwd": "/Users/YourNameHere/Development/python",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "Ipython",
"extend_env": {"PYTHONIOENCODING": "utf-8"}
}
}
]
}
]
}]
}
]
Теперь вы можете иметь пользовательские пункты меню, которые будут работать после обновлений SublimeREPL
из Package Control, и запускать REPL с различными опциями, рабочими каталогами, что у вас есть.
Надеюсь, что-то из этого вам пригодится, пожалуйста, дайте мне знать, как это работает для вас.