- Автор
-
KliPPy
- Требования
-
Наличие Visual Studio Code.
Visual Studio Code(или VSC) — «лёгкий» редактор исходного кода. Включает в себя отладчик, инструменты работы с Git, подсветку синтаксиса, IntelliSense и средства рефакторинга. Имеет широкие возможности для кастомизации: пользовательские темы, сочетания клавиш, файлы конфигурации.
Рассматриваемое нами расширение для VSC поддерживает подсветку кода AMXXPawn, навигацию, компиляцию, поиск, несколько облегчает работу.
Находится в активной разработке, однако уже вполне работоспособно и приятно глазу.
На данный момент реализованы:
Компиляция нашего amxx-плагина может осуществляться 2 способами - через задачи и напрямую. Ниже расписаны оба.
Обратите внимание на строчку
Задаётся выходной путь компиляции. Удобно при тестировании плагина, можно заливать сразу на локальный сервер.
Находится в активной разработке, однако уже вполне работоспособно и приятно глазу.
На данный момент реализованы:
-
-
Позволяет видеть сигнатуры функций, переменных и констант при наведении курсора на соответствующий элемент.
-
Нажимаем комбинацию клавиш ctrl+shift+o, сверху в окне поиска видим все используемые функции и стоки.
- Скачать Visual Studio Code, установить, следуя инструкции инсталятора, запустить.
- Перейти во вкладку "Расширения". В строке поиска ввести amxxpawn. Установить расширение от KliPPy.
- Закрыть и снова открыть Visual Studio Code.
- В левой панели снизу выбрать иконку "Настройки" в виде шестерёнки и пункт "Параметры".
- В параметры запуска вставить код
Код:
{
"amxxpawn.compiler.includePaths": [
"${workspaceRoot}/include"
],
"amxxpawn.compiler.executablePath": "${workspaceRoot}/amxxpc.exe"
}
- Это мы вставили просто параметры запуска, чтобы студия распознавала инклюды и экзешник, запускающий компиляцию. Но ведь ей ещё надо указать какую рабочую область используем. Пока что студия не понимает, где находится {workspaceRoot} из кода выше. Для этого откроем папку с компилятором, это будет наша рабочая папка. И укажем путь к ней. "Файл" --> "Открыть" --> открываем папку "scripting" вашего AMX Mod X. То есть ту папку, где лежит компилятор.
- При переходе в левой панели на иконку "Проводник" видим результат.
Всё просто. Открываем исходник, нажимаем комбинацию клавиш ctrl+shift+p и в окно поиска вставляем директиву.
Также директива находится сама при начале набора.
Код:
AMXXPawn: Compile Plugin
- На верхней панели выбираем "Задача" --> "Настроить задачу сборки по умолчанию" --> "Создать файл tasks.json из шаблона" --> "Others"
- Вставляем в шаблон код. Как Вы догадываетесь, читатель, это и есть наша задача. Задача компиляции. {workspaceRoot} - не что иное как ранее открытая папка scripting.
Код:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "Compile Plugin",
"type": "process",
"command": "${workspaceRoot}\\amxxpc.exe",
"args": [
"${file}",
"-i${workspaceRoot}\\include",
"-o${workspaceRoot}\\compiled\\${fileBasenameNoExtension}.amxx"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Код:
"-o${workspaceRoot}\\compiled\\${fileBasenameNoExtension}.amxx"
- Сохраняем задачу, закрываем.
- "Задача" --> "Запустить задачу" --> "Compile Plugin"
Ряд настроек AMXXPawn для VSC располагаются в "Настройки" -->"Параметры". Наибольший интерес представляют те, которые лежат в подразделе AMXXPawn Configuration.
Давайте их рассмотрим по очереди.
// Минимальный интервал между обновлениями синтаксиса
// По щелчку на #include открывается ссылка на его web-API. У меня почему-то не заработало.
// Расположение компилятора. Мы его ранее прописывали в параметрах запуска как ${workspaceRoot}/amxxpc.exe
// Расположение инклюдов
// дополнительные опции, указываемые компилятору
// Показывает дополнительную информацию, такую как команды, аргументы, выходные коды при компиляции
// Вывод выходной информации от amxxpc в более читабельной форме
// Куда класть скомпилированные файлы .amxx:
// - 'source' (в ту же папку, где исходник)
// - 'path' (настраивается ниже в amxxpawn.compiler.outputPath)
// Путь, по которому мы кладём скомпилированные файлы. Полезен при разработке. Можно компилить плагин в студии и автоматом заливать на локальный сервер в папку plugins.
Давайте их рассмотрим по очереди.
// Минимальный интервал между обновлениями синтаксиса
"amxxpawn.language.reparseInterval": 1500,
// По щелчку на #include открывается ссылка на его web-API. У меня почему-то не заработало.
"amxxpawn.language.webApiLinks": false,
// Расположение компилятора. Мы его ранее прописывали в параметрах запуска как ${workspaceRoot}/amxxpc.exe
"amxxpawn.compiler.executablePath": "",
// Расположение инклюдов
"amxxpawn.compiler.includePaths": [],
// дополнительные опции, указываемые компилятору
"amxxpawn.compiler.options": [],
// Показывает дополнительную информацию, такую как команды, аргументы, выходные коды при компиляции
"amxxpawn.compiler.showInfoMessages": false,
// Вывод выходной информации от amxxpc в более читабельной форме
"amxxpawn.compiler.reformatOutput": true,
// Куда класть скомпилированные файлы .amxx:
// - 'source' (в ту же папку, где исходник)
// - 'path' (настраивается ниже в amxxpawn.compiler.outputPath)
"amxxpawn.compiler.outputType": "source",
// Путь, по которому мы кладём скомпилированные файлы. Полезен при разработке. Можно компилить плагин в студии и автоматом заливать на локальный сервер в папку plugins.
"amxxpawn.compiler.outputPath": "",