Перейти к содержимому


Используем нормальные IDE

ide vscode visual studio visual studio code

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 Guap6512

Guap6512

    Лунатик

  • Employee
  • 1431 сообщений
  • ГородВолгоград
     

Отправлено 28 March 2018 - 21:52

*
Популярное сообщение!

Сидел я недавно, пинал хуи писал код для Шепарда, и понял, что дриммейкер хоть и привычен, но постоянные зависания на минуту-две при поиске чего-то в коде проекта меня уже достали.
Решил очередной раз поискать альтернативу. Собственно, в альтернативах всегда отталкивало то, что я считал, что компилить всё равно придётся дриммейкером, и скакать туда-сюда довольно неудобно.
Помню, что когда-то там разрабатывался отдельный IDE для него, DreamEdit, погуглил, никаких новостей о нём не нашёл, но зато наткнулся на хороший гайд, как юзать Visual Studio Code для разработки под бьёнд. Собственно - сам гайд ниже, в очень сокращённом и переведённом виде, вдруг кому-нибудь пригодится.

Для начала ставим себе VS Code - https://code.visualstudio.com/
Жмём Ctrl-P, копипастим в открывшуюся строку команду:
ext install gbasood.byond-dm-language-support
Откроется менюшка с расширениями, предложит установить поддержку бьёндоязыка, устанавливаем, перезапускаем студию.
Подсветку кода для бьёнда мы себе уже обеспечили, дальше интереснее.

Открываем студией папку билда, для каждого билда всё ниженаписанное надо будет делать отдельно.
В корне папки с билдом создаём папку .vscode, в ней создаём файл tasks.json
Копируем туда это:
{
// Build the thing!
// Except the thing is SS13 code in a shitty C like language!
// Why would you ever want to build this?!
"version": "0.1.0",
"showOutput": "always",
"tasks":[
{
"taskName": "Build Release",
"suppressTaskName": true,
"isBuildCommand": true,
"isShellCommand": false,
"command": "C:/path/to/BYOND/bin/dm.exe",
"args": ["${workspaceRoot}/baystation12.dme"],
"problemMatcher": {
"owner": "dm",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
	 "regexp": "^([\\\\\/0-9a-zA-Z\\._ -]+):(\\d+):(warning|error): (.*)",
	 "file": 1,
	 "line": 2,
	 "severity": 3,
	 "message": 4
}
}
},
{
"taskName": "Run Server",
"suppressTaskName": true,
"isTestCommand": true,
"isShellCommand": false,
"command": "C:/path/to/BYOND/bin/dreamdaemon.exe",
"args": ["${workspaceRoot}/baystation12.dmb", "-trusted", "-invisible", "-close"]
},
{
"taskName": "Generate Changelogs",
"suppressTaskName": true,
"isShellCommand": true,
"command": "python",
"args": [
"${workspaceRoot}/tools/GenerateChangelog/ss13_genchangelog.py",
"${workspaceRoot}/html/changelog.html",
"${workspaceRoot}/html/changelogs"
]
}
]
}

Я думаю, и так ясно, но на всякий случай: в строке
"command": "C:/path/to/BYOND/bin/dm.exe",
Вместо /path/to/ надо вставить свой путь до папки бьёнд. В команде с дримдеймоном так же.
Если в вашем билде нет тулзы с генерацией чейнджлогов - последний блок, Generate Changelogs можно не писать.
И в строке:
{workspaceRoot}/baystation12.dme
baystation12.dme можно поменять на название вашего .dme, если оно отличается. В аргументах команды для запуска сервера точно так же надо поменять на нужное название, но расширение будет уже .dmb

Плюсов работы из студии, вместо Dream Maker-а туча, тут и более удобный интерфейс, и общее быстродействие, и поиск по проекту крутой и шустрый, и тысяча причин, на самом деле. Даже те же ошибки вам будет удобнее просматривать из неё. Всё подгружается в лог студии автоматически при компиле, да.

Минусы - карту редактировать можно только из Dream Maker-а, и инклудить новые файлы нужно вручную, нельзя просто быстро проставить нужные галочки, как в Dream Maker-e. И, пожалуй, всё.

Удачной разработки!

UPD: По плюсам VS Code - ещё очень удобная интеграция с гитом, пара кнопок и коммит сделан и заливается.
И скринец вот:
Скрытый текст

Сообщение отредактировал Guap6512: 28 March 2018 - 22:03

Изображение

#2 Kirsterloper

Kirsterloper

    Эх...

  • Employee
  • 1108 сообщений
  • Городɓоdоɹ
  

Отправлено 28 March 2018 - 23:05

Ещё бы дерево объектов туда, вообще бы замечательно было

#3 Epicus

Epicus

    Космический офицер

  • Chaotic Chief Officer
  • 3070 сообщений
  • Discord:Epicus#1570
  

Отправлено 29 March 2018 - 00:19

Я недавно использовал Atom, но он какой-то унылый совсем. Жрет ресурсов как Хром, поддержку Бьонда туда завезли совсем слабенькую - да и в целом он не очень удобен. Залез на Stack Overflow и посмотрел самые удобные инструменты разработки по результатам местного опроса за 2017 год: оказалось, что Атом вообще почти никому не нравится. Зато узнал, что нормальные люди, когда пишут на таких стремных языках как Бьонд, используют Notepad++, VS Code или Sublime. NP++ старый, как динозавр, VS Code занимает много места и ресурсов компьютера, поэтому решил попробовать Sublime Text 3.

Вчера настроил себе вот такое окружение:

Скрытый текст

Все тоже самое, что и в VS Code: подсветка синтаксиса, билд, плагины для интеграции Гита. Плюс есть немного автодополнения, возможность запускать сервер прям из редактора, весит всего 30 мб, да и с плагинами и кастомизацией тут попроще, чем в поделке Мелкомягких.

Кто заинтересовался, вот ссылки:
1. Sublime Text 3: https://www.sublimetext.com/3
2. Плагин для Sublime Text 3 называется "Dream Maker", внезапно - можно найти во встроенном менеджере плагинов. Но лучше скачать последнюю версию отсюда, иначе будут траблы с билдом: https://github.com/c.../sublime-dreams Просто качаете zip-архивом и кидаете в специальную папочку с плагинами - ST3 сам все подхватит.
3. Цветовая тема называется Predawn, тоже из менеджера плагинов.

Для гита я себе почти ничего не ставил, потому что из блокнота гитом вертеть не очень удобно. Новичкам лучше ставить SourceTree, например, и использовать его. Более опытные с гитом могут попробовать SmartGit - им чуть-чуть посложнее пользоваться, зато есть много удобных вещей, без которых тяжело делать разные трюки, которыми мне приходится пользоваться на Ониксе, например, для мержа Бея.

Единственное, я еще себе поставил плагин GitCutter. В основном тупо для того, чтобы он помечал строки, которые я изменил. Но там еще есть какие-то полезные функции.

Вот, кстати, функции, связанные с Бьондом:
Скрытый текст

Don't make it dead again...

#4 Rosalimo

Rosalimo

    Ветеран космонавтики

  • Employee
  • 3345 сообщений
  • Byond:Rosalimo
  • Discord:Rosalimo#9624

Отправлено 29 March 2018 - 00:26

Кто тут Atom обижает, выходи, щас в еблет пропишем.
Редактор от народа, особенно когда обмажешь плагинами.

#5 Epicus

Epicus

    Космический офицер

  • Chaotic Chief Officer
  • 3070 сообщений
  • Discord:Epicus#1570
  

Отправлено 29 March 2018 - 00:55

Просмотр сообщенияRosalimo (29 March 2018 - 00:26) писал:

Кто тут Atom обижает, выходи, щас в еблет пропишем.
Редактор от народа, особенно когда обмажешь плагинами.
Изображение

А плагины те же. Для Бьонда даже лучше в ST3, как оказалось. Поддержка Git'а - тоже лучше.
Don't make it dead again...

#6 Guap6512

Guap6512

    Лунатик

  • Employee
  • 1431 сообщений
  • ГородВолгоград
     

Отправлено 29 March 2018 - 01:27

Ну запуск сервера из IDE и в студии есть. А вообще - тут уже вкусовщина. Я выбрал студию лишь потому, что она уже у меня стояла.
По поводу гита - git-scm использую, полёт нормальный. Возможно, просто пока не возникала нужда в каких-то прям особенных штуках. Но вот кнопочки Add to DME мне понравились в саблайме.
Кстати, если кому будет нужно - я могу скинуть tasks.json под убунту, там же пути другие писать надо, и команды тоже немножко другие.
Плюс я его переделал под новую версию тасков, в первом посте дан под legacy.
Изображение


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных