Наверняка многие из вас, кодеров под семовское СДК, сталкивались с таким неудобством как отсутствие нормальной среды разработки. Язык на котором пишутся семовские ентити это немного видоизмененный С++, в связи с чем многие среды для С++ просто не могут разобрать синтаксис ES файлов, и порой нам приходится до-о-о-лго скроллить вверх, чтобы посмотреть как же мы назвали ту или иную переменную, или еще хуже - записывать названия объявленных переменных и функций в какой-нибудь текстоый файл(помню делал так, когда вносил изменения в большие классы) Раньше меня это особо не беспокоило, но после работы с такими IDE как JetBrains PHP Storm, или MVC++2010 + Visual Assist, которые анализируют на лету весь ваш код, быстро подсказывают вам названия переменных, функций, автоматически выравнивают, форматируют, подкрашивают... в общем после всего этого одна мысль, что для написания какой-нибудь ентити нужно будет вернуться к убогому Notepad++, который понимает весь ваш код исключительно как текст - погрузила меня в глубочайшую депрессию. Возможно найдутся такие герои, которые заявят "А я вообще не понимаю суть всех этих IDE, пишу себе в блокноте, и запоминаю названия всех переменных, и мне норм". Вообще да, можно и в блокноте, не спорю, но когда ваша программа начинает становится чуть больше чем ваш любимый Hello World, и у вас все больше время уходит на скроллинг вашего кода и запоминание названий переменных - процесс программирования превращается в унылое говно, а производительность падает в несколько раз (прямо-пропорционально размеру вашего проекта). Ну и осознав это все, я решил поискать какую-нибудь среду, которая могла-бы хотя-бы частично, но разбирать код семовского СДК. Начал перебирать все IDE для С++, и пробовать открывать в них .es файлы ентить, по пути стараясь ковырять настройки. В итоге, после всех этих поисков я наткнулся на одну среду, которая, как мне кажется, лучше всех справляется со своей задачей. Это Slick Edit В начале программа видела es файлы как сплошной текст, но после добавления соответствующего расширения в список поддерживаемых, случилось чудо - она таки раскрасила весь код, мало того, даже стала выдавать подсказки для объявленных переменных и функций!
Вообще прога оказалась очень гибко-нстраиваемой. Можно самому добавлять ключевые слова, например СДК-шные типы FLOA3D, ANGLE3D. Можно обучить ее понимать такие конструкции как wait или FOREACHINDYNAMICCONTAINER
После этого программа начнет подсказывать все эти штуки, экономя ваше время и нервы. В общем если поковырять, можно действительно настроить ее так, что она будет понимать СДК-шный код, как чистый С++. Так-же мне очень понравилось что она форматирует и украшает код, расставляет отступы, пробелы, делая код более читабельным. Можно даже скопировать кусок кода, который будет криво разбросан, а прога после вставки превратит его в аккуратно отформатированный и читабельный блок.
Эх, получилось прям реклама какая-то, но прога меня действительно впечатлила. Кстати, даже если она не знает из каких переменных и методов состоит какой либо класс, она все-равно подскажет название, на основе ваших прошлых обращений к этому объекту.
В общем советую. Это та среда разработки, на которой я остановился, во время поиска лучшей IDE для Serious Engine SDK. Быть может кто-нибудь нашел еще что-нибудь интересное ? Если это так - рассказывайте чем вы пользуетесь. Возможно это пригодится любителям поковырять СДК.
Сорри, у вас тут немного дизайн перекосило моей пикчей, я не нашел как тут редактировать мессагу, так что надеюсь модеры поправят. А вообще это стоит подправить в стилях сайта, указать максимальную ширину картинки что-ли...
А компилировать код сэмовского СДК она сможет? Или это только для редактирования? IDE по определению - инструмент, включающий в себя возможности редактора и компилятора, отсюда слово "integrated" в аббревиатуре.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Компилировать оно, конечно, не сможет, но в любой IDE в качестве команды сборки можно сделать вызов MSDEV.EXE с соответствующими параметрами. Помнится, экспериментировал так же с NetBeans, KDevelop и прочими. В итоге остановился на простом текстовом редакторе, автокомплит оказался как-то не сильно и нужным : )
Тогда уже CL.EXE, а не сам MSDEV, и отдельно ЕСС для ESок. И линковаться надо к старым либам MFC, а это люди уже безуспешно пытались сделать на более свежих Visual Studio. По поводу автокомплита - это вовсе не свистоперделка для начинающих; на крупных проектах никто не гнушается ей пользоваться, потому что имена всех классов/переменных в проекте ни один сумасшедший не будет держать в голове, к тому же, так быстрее. Так что умение не пользоваться автокомплитом мало где может пригодиться.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Зачем грызть кактус, если MSDEV, вызванный с нужными аргументами мало того, что не запустит саму IDE, так ещё и нормально проект соберет?
ЦитатаSLAwww ()
По поводу автокомплита - это вовсе не свистоперделка для начинающих;
Я такого не говорил. При работе с крупными библиотеками вроде той же Qt я использую его постоянно, конкретно же в Serious Sam всё как-то по памяти набирается.
Ещё раз, для ясности: без IDE я пишу только для Сэма, конечно же. Ну и всякую фигню вроде мелких скриптиков.
Сообщение отредактировалthecre - Понедельник, 09.03.2015, 15:34
Зачем грызть кактус, если MSDEV, вызванный с нужными аргументами мало того, что не запустит саму IDE, так ещё и нормально проект соберет?
Как раз запуск MSDEV в данном случае больше похож на поедание кактуса, т.к. он из себя всё равно вызывает CL.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Окей, в итоге имеем 2 способа. 1. "Нормальный". Делаем ecc для всех es, затем cl для всех cpp, с указанием всех либ, ага. 2. "Кактус" Запускаем MSDEV, указав в параметрах солюшн/проект.
Я, пожалуй, лучше покушаю кактус вместо того, чтобы, по сути, заново настраивать проект.
1. "Нормальный". Делаем ecc для всех es, затем cl для всех cpp, с указанием всех либ, ага.
Забыл LINK всех объектников. =P
А если серьёзно, то я предложил такой вариант, т.к. не знаю, поддерживает ли Slick Edit работу с файлами проектов MSVC++ 6.0. По странице разработчиков понять это не удалось, саму прогу пока что не качал, но подозреваю, что такой старый формат, скорее всего, не поддерживается. А если вручную править файлы проектов, то отпадает преимущество простоты их билда через вызов MSDEV.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Кстати, CodeLite тоже подхватил автокомплит. Заставить бы его ещё билдить проекты из студии, было б чудесно, но и то, что есть - довольно неплохо. Очень вкусно, я б сказал.