LINUX.ORG.RU

Компиляция в sublime text 2 + запуск файла в терминале.

 , , , ,


0

1

Всем привет! На учёбе задают задачки на паскале и приходиться решать, пишу в sublime text 2. Раньше компилировал в ручную, а сегодня вот сделал компиляцию через sublime text 2, вот код pascal.sublime-build:

{
«cmd»: [«fpc», «$file»],
«file_regex»: «^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$»,
«working_dir»: «${file_path}»,
«selector»: «source.pas»
}

Вот, как теперь сделать запуск скомпилированного файла в терминале? С английском плохо и переводчик особо не помог. В вики есть вот такая хелп страничка http://sublimetext.info/docs/en/reference/build_systems.html

Помогите пожалуйста!)

Вот, как теперь сделать запуск скомпилированного файла в терминале?

Запускаешь консоль (xterm или konsole) и вводишь комманду типа «путь_к_файлу/./запускаемый_файл»

Napilnik ★★★★★
()
Ответ на: комментарий от WiseAlex

В нормальных редакторах есть кнопочка run которая компилирует и сразу запускает. Этим редактором ни разу не пользовался, да поможет тебе http://translate.google.ru/

Napilnik ★★★★★
()

Сделай себе Makefile, который будет, по дефолту, компилить и запускать проект. А в SB2 просто поставишь компиляцию с помощью make.

Norgat ★★★★★
()
Ответ на: комментарий от WiseAlex

В ST2 поставить Tools -> Bild System -> Make.

И сварганить Makefile вида:

NAME:= my_prog_name
PATH_TO_WORK_DIR:= path
ALL:
    //правила для сборки
     your_terminal_name --command='$(PATH_TO_WORK_DIR)/$(name)' параметры запуска, если нужны...

Как открывать терминал и выполнять в нём заданную команду ищи под свой терминал.

Например для xfce4 нагуглилось сразу:

xfce4-terminal --command='./prog'

Свой Makefile кладёшь в папку с исходниками и вуаля.

P.S. Думаю в Makefile можно прописать правила для запуска приложения только в случае удачной компиляции, но т.к. в мейкфайлах я не силён, то написать такое с ходу не могу.

P.P.S. Вместо ALL можно провисать что-то типа SB_RUN и использовать собственную систему сборки. Т.е. банально Tools -> Build System -> New Build System

А в полученный файл забить что-то типа:

{
	"cmd": ["make SB_RUN"]
}
Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 2)
Ответ на: комментарий от Norgat

Можно просто в build system прописать запуск скрипта, который сначала выполняет make, а потом что-то по желанию.

Amp ★★★
()
Ответ на: комментарий от Norgat

И начерта держать и Makefile, и доп. скрипт, если всё можно прописать в Makefile?

Make кстати не нужен, у ТС фрипоцкаль с лабами - ему нужно просто дернуть fpc и затем запустить бинарник. Зачем это делать через make, гугля синтаксис и особенности, когда быстро написать все на баше в две строчки?

А вообще всякое бывает. Переменные среды установить для компилятора с пресловутым make-ом и библиотек, вызвать систему сборки, которая сгенерирует этот makefile...

Amp ★★★
()
Ответ на: комментарий от Amp

Зачем это делать через make, гугля синтаксис и особенности, когда быстро написать все на баше в две строчки?

Чтобы один раз написать Makefile и правило сборки в ST2, а потом юзать его для всех лаб в универе.

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

Только для лаб это и рульно, а если например нужно из x86-64 linux собрать бинарники для x86 linux или win32 то не факт что Makefile без правки правильно соберёт что-то сложное (а ручная установка пачек симлинков на /usr/lib/нужная_либа.so.0 это вообще песня, бо файл /usr/lib/нужная_либа.so пакетами не ставится). А если потом потребуется временно добавить отладочные опции то опять правь Makefile. А когда опций в коммандной строке станет больше чем удобно запоминать и писать, то их придётся записывать в шпоргалку или башскрипт. Если всё равно всё сводится к нескольким башскриптам, то make превращается в лишнюю сущность.

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Мы тут обсуждаем не большой проект. Не путай пирожок и чан с борщом пожалуйста. Лично я вообще для чего-то большого предпочту CMake(терпеть не могу сложные и большие Makefile). Но мы тут обсуждаем конкретную задачу. Она решается через Makefile? Да. Нормально решается? Да. Быстро? Да. А то, что с помощью Makefile нельзя быстро решить другую задачу - это другой вопрос и к делу отношения не имеет.

Norgat ★★★★★
()

Мне не очень нравится, как в Sublime сделана навигация по ошибкам с выхлопа сборки. Когда пытаешься делать навигацию по ним - он просто берет и ставит курсор в строку с ошибкой. При этом строка никак не выделяется и визуально бывает сложно понять где она. Может плагины есть, чтобы красненьким такое подсвечивать?

Amp ★★★
()
Ответ на: комментарий от Norgat

Слушай, через баш она решается еще быстрее и короче, чем через мейкфайлы.

Amp ★★★
()
Ответ на: комментарий от Norgat

В других редакторах такой проблемы вообще нет, в том же лазарусе компиляция и запуск происходит при клике на зелёную кнопку а сборочные опции можно посмотреть и поправить в специальном окошке. Вот это понятное «нормально» - при самостоятельном изобретении набора опций можно при сборке не указать версию gtk и всё будет работать зашибись, но при запуске в дистрибутиве с gtk3 будет облом, слинкуется не с тем тулкитом. Но если изучать предмет для сдадено и забыто, то ничего этого конечно знать не нужно, а потом окончившие такой курс наук говорят что на паскале нельзя написать ничего реально полезного и работающего:)

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Napilnik

«путь_к_файлу/./запускаемый_файл»

а чего только одна точка? три было бы интереснее: «путь_к_файлу/./././запускаемый_файл»

unC0Rr ★★★★★
()
Ответ на: комментарий от unC0Rr

В том что синтаксис баша придумали люди со странным чувством прекрасного облагороженным С и перлом догадывался и раньше.

Napilnik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.