Sublime Text 2 с помощью простого командного файла

Я немного играл с ST2, и это похоже на довольно симпатичный редактор. К сожалению, его документация ужасна.

И мне приятно. Так вот мой вопрос.

У меня есть пять файлов в каталоге, которые я обычно создаю через .bat файл с

ifort file1.f90 file2.f90 file3.f90 ...

как я могу определить и выполнить эту строку в окнах cmd (с учетом переменных окружения, таких как PATH), из ST2 через ярлык и посмотреть результат? Возможно ли это на этом этапе с ST2?

Ответ 1

Я только что сделал новую сборку следующим образом:

{
    "cmd": ["$file"],
    "selector": "source.dosbatch"
}

Затем вы поместите свою строку ifort ... в .bat файл и создадите.

Ответ 2

Здесь шаг за шагом можно запустить пакетный файл как часть процесса сборки:

В Sublime Text 2 перейдите в Инструменты → Система сборки → Новая система сборки

Вам будет представлен новый текстовый файл со следующим кодом:

{
"cmd": ["make"]
}

Теперь измените "make" на точный путь вашего командного файла, чтобы он выглядел примерно так:

{
"cmd": ["D:\\xampp\\htdocs\\myproject\\dostuff.bat"]
}

Обратите внимание: вы должны использовать двойную обратную косую черту для оконных путей.

Затем сохраните этот файл как myproject.sublime-build в каталоге по умолчанию, в котором он просит вас сохранить его (должен быть $HOME_DIR/AppData/Roaming/Sublime Text 2/Packages/User).

Затем в вашем проекте вернитесь в Инструменты → Сборка системы и выберите систему сборки, которая совпадает с именем файла, который вы только что создали (в данном случае это "myproject" ).

Нажмите ctrl + b или перейдите к инструментам → сборка, и ваш командный файл должен работать, и вывод появится в консоли ST2.

Ответ 3

Это сработало для меня:


Он работает с дорожками и файлами с whitespaces по spilting вверх аргументы "arg" , такие как:

[..., "/C", "START", "${file_path}", "${file_name}"]


Вставьте это в файл Batch.sublime-build.

{
    "file_patterns": ["*.bat"],
    "selector": "source.Batch",
    // This runs the batch file in cmds' console
    "cmd": ["cmd", "/C", "START", "${file_path}", "${file_name}"]
}

Ваш пакетный файл может быть запущен в CLI CMD. Я полагаю, что можно также передавать аргументы, но это может быть отправной точкой для вас.

Выше будет запускать cmd.exe и запускать код в его собственной консоли. Это примет ваши входные данные файла .bat.


Здесь сборка, которая может быть сохранена как BatchStConsole.sublime-build

{
    "file_patterns": ["*.bat"],
    "selector": "source.Batch",
    // This outputs to Sublime Texts' console
    "cmd": ["cmd", "/C", "${file}"]
}

Выше будет запускать код в консоли Sublime Texts. Это не примет ваши входные данные файла .bat. Но все же полезно для отладки, так как передает любые аргументы, такие как собственный CLI, но просто не взаимодействует.


Соответствующая помощь:

START https://ss64.com/nt/start.html

http://docs.sublimetext.info/en/latest/reference/build_systems/configuration.html#platform-specific-options

https://www.sublimetext.com/docs/3/build_systems.html