Pull to refresh

Comments 11

Сбор проекта есть, здорово. А отлаживать как?
нужно определиться, какой язык программирования и/или фреймворк вы используете и какие средства отладки для него есть. будете ли использовать юнит-тесты и т.п.
нужно определиться, какой язык программирования и/или фреймворк вы используете и какие средства отладки для него есть. будете ли использовать юнит-тесты и т.п.
отлично, snegovikufa! попробую плагин в ближайшем будущем.
snegovikufa, замечательный плагин, но у меня, чтоб выводился лог в output у Sublime, было добавлено в код плагина print(proc.communicate()[0])
Так, а если использовать этот print, то выходит, что пока команда (в моем случает ant-овская цель) не отработает, то в аутпуте ничего не появится. Синхронно работает. А ЛогТред что-то у меня ничего не делает. Если же shell=False, то вижу все, что делается в командной строке, она закрывается, а потом все тоже самое вижу в консоле Sublime.
Это не совсем билд в понимании Sublime, может к API как-то это дело прикрутить. Вот например, чтоб посмотреть вывод при работе с этим плагином, надо открывать консоль Sublime, а при Build его вывод открывается автоматически. Как и горячая клавиша f7 автоматически работает, неважно, где в это время фокус мыши. А в плагине этого не выходит, если в это время мышь в фокусе на области конслоли, допустим на скролбаре, то shift+f10 не срабатывает.
хотя может это я уже придираюсь.
Дополнение к моей статье:

В результате использования вышеуказанного руководства, а именно горячей кнопки «F8», обнаружил такую вещь: вылетает ошибка о несуществовании антовского файла «build.xml», если в этот момент работать с файлом, который находится не в той же директории, что и искомый «build.xml».

Buildfile: build.xml does not exist!
Build failed

Для этого разработчики Sublime в хоткей для «exec» уже давно добавили свойство «working_dir», куда и можно написать полный путь до корня проекта, где и лежит согласно статье «build.xml».

[
{"keys":["f8"],"command":"exec","args":{"cmd":["ant.bat","trial"],"working_dir": "YourFullpathToWorkspaceDir\\helloworld" } }
]

Но облом в том, что это явное указание пути, а значит при работе с другим проектом его нужно будет изменить непосредственно в указанном хоткее. Однако у Build System в Sublime есть такая переменная, как "$project_path". Было бы замечательно ее использовать в вышеуказанном хоткей, но она, как я понял, может быть задействована только непосредственно в .sublime-build файле.

Но разработчики Sublime предоставили возможность вызывать варианты одного и того же Build. Вернемся к «Ant TRIAL». Сделаем его вот таким для примера:

# файл "Ant TRIAL.sublime-build"
{
"cmd": ["ant.bat", "trial"],
"working_dir" : "${project_path}",
"variants": [
	{
	"name": "Run",
	"cmd": ["ant.bat", "test"]
	},
	{
	"name": "Init",
	"cmd": ["ant.bat", "init"]
	}
  ] 
}

И изменим хоткей:

[
{"keys":["f8"],"command":"build","args":{"variant":"Init"}}
]

Выбираем Build систему «Ant TRIAL» и пробуем. «Ctrl+B» работает как и раньше:

Buildfile: *\helloworld\build.xml
init:
 [echo] Some initial logic in 'helloworld' project!
trial:
 [echo] Some trial logic!
BUILD SUCCESSFUL
Total time: 0 seconds
[Finished in 0.3s]

«Ctrl+Shift+B» (это сочетание уже определено для Build варианта Run) вызовет «test»:

Buildfile: *\helloworld\build.xml
test:
 [echo] Ant works in 'helloworld' project!
BUILD SUCCESSFUL
Total time: 0 seconds
[Finished in 0.1s]

а «F8» вызовет «init»:

Buildfile: *\helloworld\build.xml
init:
 [echo] Some initial logic in 'helloworld' project!
BUILD SUCCESSFUL
Total time: 0 seconds
[Finished in 0.1s]

Теперь, где бы мы не работали с кодом в нашем проекте, эти сочетания сработают. И вызовут они именно механизм Build самого Sublime, а не стороннюю «программу» (ant.bat) через exec. И как раньше нет необходимости переключаться между разными Build System. Вам осталось только причесать код под себя. Мой итог в настоящий момент выглядит примерно так:

[
{"keys":["f8"],"command":"build","args":{"variant":"Trial"}}
]


# файл "AntProjectBuilder.sublime-build"
{
"cmd": ["ant.bat"],
"working_dir" : "${project_path}",
"variants": [
	{
	"name": "Run",
	"cmd": ["ant.bat", "test"]
	},
	{
	"name": "Trial",
	"cmd": ["ant.bat", "trial"]
	}
  ] 
}

А вот теперь было бы весьма интересно «научить» ранее рассмотренный плагин от snegovikufa по какому-нибудь хоткей автоматически составлять подобный список вариантов из уже сформированного .sublime-build файла для их последующего выбора и запуска соответствующей Ant-цели.
по сути ведь надо просто вызывать внешнюю программу с параметром, в PSPad, например, под каждый тип файла можно настроить и программу для запуска и компилятор. Есть так же возможность организовать проект и под него сделать точно такие же настройки.

Посмотрел немного саблайм2, он как-то пустоват что ли.
Sign up to leave a comment.

Articles