В SublimeText2, как выбрать, какой файл .py создавать, а не открытый?

У меня часто открывается много файлов на нескольких вкладках в SublimeText2. Скажем, у меня есть 2 файла, main.py и helper.py. Пока я редактирую helper.py, как мне создать main.py, не переключая вкладку на файл, который я хочу создать?


person Hlung    schedule 11.12.2012    source источник


Ответы (2)


Создайте новую систему сборки и замените $file своим "main.py".

В "Инструменты>Система сборки>Новая система сборки..." вставьте этот код:

{
    "cmd": ["python", "-u", "main.py"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

Сохраните его под каким-нибудь именем, например. "Python(main.py).sublime-build". Теперь Python(main.py) появится в вашем списке систем сборки. Выберите его и нажмите cmd+B для сборки, теперь вы всегда будете строить, используя ваш «main.py» :)

person Hlung    schedule 11.12.2012

То, что сказал @Hlung, будет работать, но я думаю, что было бы лучше, если бы вы создали систему сборки для конкретного проекта (которая хранится внутри конфигураций проекта). Таким образом, ваша система сборки с постоянным выполнением основного файла активна только тогда, когда у вас открыт этот проект. Если вы просто редактируете отдельные скрипты, которые хотите выполнить, вам не придется вручную переключать систему сборки для их запуска.

Вот пример используемого мной файла *.sublime-project, который содержит систему сборки для конкретного проекта:

{
    "folders":
    [
        {
            "path": "app",
            "file_exclude_patterns": ["*.sublime-*"],
            "folder_exclude_patterns": ["__pycache__"]
        }
    ],
    "settings":
    {
        "tab_size": 4,
        "translate_tabs_to_spaces": true
    },
    "build_systems":
    [
        {
            "name": "app",
            "cmd": ["python", "-u", "${project_path}/main.py"],
            "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
            "selector": "source.python",
            "shell": true
        }
    ]
}

Дополнительную информацию о системах сборки можно найти здесь

person Josh    schedule 11.12.2012
comment
Я поместил этот код в свой *.sublime-project, но при сохранении всегда возникает ошибка. Ошибка при попытке проанализировать проект: запятая в конце перед закрывающей скобкой. Однако он сохраняется на диск, но когда я его запускаю, он не использует main.py для сборки :/ - person Hlung; 11.12.2012
comment
Ой, мой плохой... Я вырезал некоторые ненужные части, прежде чем вставить это, и у него были лишние запятые, которые делали строку JSON недействительной. Попробуйте отредактированную версию... - person Josh; 12.12.2012