Архив сообщества
2011 — 2019
Аватар Guap6512

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

Автор: Guap6512 · 28.03.2018, 20:52 · 6 сообщений

Сообщений в теме: 6

Guap6512#1

Сидел я недавно, пинал хуи писал код для Шепарда, и понял, что дриммейкер хоть и привычен, но постоянные зависания на минуту-две при поиске чего-то в коде проекта меня уже достали.

Решил очередной раз поискать альтернативу. Собственно, в альтернативах всегда отталкивало то, что я считал, что компилить всё равно придётся дриммейкером, и скакать туда-сюда довольно неудобно.

Помню, что когда-то там разрабатывался отдельный 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 - 12:03

Скопировать ссылку
Epicus#3

Я недавно использовал 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. В основном тупо для того, чтобы он помечал строки, которые я изменил. Но там еще есть какие-то полезные функции.

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

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

Содержимое спойлера отсутствует в сохранённом тексте.

Скопировать ссылку
Rosalimo#4

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

Редактор от народа, особенно когда обмажешь плагинами.

Скопировать ссылку
Epicus#5
Rosalimo (28 March 2018 - 14:26) писал:

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

Редактор от народа, особенно когда обмажешь плагинами.

Изображение

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

Скопировать ссылку
Guap6512#6

Ну запуск сервера из IDE и в студии есть. А вообще - тут уже вкусовщина. Я выбрал студию лишь потому, что она уже у меня стояла.

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

Кстати, если кому будет нужно - я могу скинуть tasks.json под убунту, там же пути другие писать надо, и команды тоже немножко другие.

Плюс я его переделал под новую версию тасков, в первом посте дан под legacy.

Скопировать ссылку

Обратно в Кодинг