Добавлен , опубликован

Основы программирования Корсаров

Содержание:
Перед началом обучения нужно вооружиться подходящими инструментами.
Прежде всего, убедитесь что версия игры у вас под руками имеет папку PROGRAM в корневой директории. Если таковой не обнаружилось - попробуйте поискать открытые скрипты для игры, которую вы используете, на нашем портале.
Если подходящей версии не нашлось и там - задайте соответствующий вопрос в модуле Q/A и мы постараемся помочь вам отыскать необходимые файлы.
Это, кстати, общая рекомендация. Если вы столкнулись с какой-то проблемой и не можете разобраться самостоятельно - не стесняйтесь задавать вопросы в комментариях или модуле вопросов.
Далее вам понадобится подходящая среда разработки, известная как IDE, а также TotalCommander для поиска кода по папке.
Основное, что нам необходимо получить - это подсветка синтаксиса С++ и инспектор кода.

Содержание статьи:
  1. VSCode
  2. NotePad++
  3. Total Commander

Visual Studio Code

  1. Скачиваем и устанавливаем VS Code с официального сайта.
  2. В ответах на этот комментарий есть ссылки на плагины, можете ознакомиться.
  1. Через меню File > Open Folder открываем всю папку PROGRAM нашей игры.
  2. При первом открытии файла .c у вас появится всплывающее окно (внизу справа) с предложением установить пакет для языков С/С++ - соглашаемся.
  3. Если вы это всплывающее окно прощелкали - перейдите в меню View > Extensions или по кнопке с квадратиками на левой панели. В поиск вбиваем C/C++ Extension Pack. Устанавливаем.
  4. Теперь в контекстном меню (правая кнопка мыши), при нажатии на какую-нибудь функцию, есть возможность перейти к ее объявлению (<F12>), декларированию, ссылкам на эту функцию (<Shift> + <F12>) и т.д.
  1. Идем в меню File > Preferences > Settings.
  2. В поле поиска настроек вбиваем Detect Indentation.
  3. Убираем галочку Editor: Detect Indentation.
  4. Устанавливаем значение Editor: Tab Size на 4.
  5. Устанавливаем галочку Editor: Insert Spaces.
  1. Поиск по коду, как и везде, вызывается комбинацией клавиш <Ctrl> + <F>.
  2. Поиск по папке находится на боковой панели слева, под значком лупы. Вызывается комбинацией <Ctrl> + <Shift> + <F>.
  1. Если вас раздражает "миникарта" кода в правой части окна - ее можно отключить, сняв галку в меню View > Appearance > Minimap.

NotePad++

  1. Скачиваем и устанавливаем NotePad++ с официального сайта.
  2. Запускаем.
  1. Первым делом идем в меню Settings > Preferences, откроется окно настроек.
  2. Переходим на вкладку Language, ищем опцию Indent using и выбираем Space character(s).
  3. В поле Indent size вводим число 4 и закрываем окно настроек.
  1. Идем в меню Plugins > Plugins Admin, откроется окно администрирования плагинов.
  2. Во вкладке Available ищем плагин с названием DSpellCheck, ставим возле него галочку. Он отвечает за проверку орфографии.
  3. Далее ищем плагин SourceCookifier, также ставим галочку и нажимаем кнопку Install в верхнем правом углу окна. NotePad++ перезапустится и установит выбранные плагины.
  1. Идем в меню Settings > Shortcut Mapper.
  2. В открывшемся окне переходим на вкладку Plugin commands.
  3. Находим строку Go To Definition от плагина SourceCookifier, нажимаем кнопку Modify.
  4. Убираем галочки с дополнительных клавиш, в качестве основной устанавливаем <F12>.
  5. Если есть конфликты (строка подсвечивается красным) - ищем где еще используется такая горячая клавиша (скорее всего, это строка Post-It во вкладке Main menu) и убираем ее оттуда кнопкой Clear.
  1. Идем в меню Plugins > SourceCookifier > Toggle SourceCookifier, появится соответствующая панель в правой части окна.
  2. На эту панель перетягиваем папку PROGRAM из корневой директории нашей игры и дожидаемся окончания парсинга файлов (в зависимости от конфигурации вашего компьютера процесс может занять от 15 до 30 минут).
  3. Теперь вы можете поместить курсор на название любой непонятной вам функции и по нажатию клавиши <F12> плагин SourceCookifier откроет нужный файл и переместит вас к определению данной функции.
  1. Обязательно сохраняем сессию кукифаера, если не хотим проходить процедуру парсинга заново. В окошке плагина нажимаем на синюю кнопку Session > Save.
  2. Если вы любите работать сразу с множеством открытых файлов, можете в меню View основного окна редактора установить галочку на строке Document List - появится панель с перечнем всех открытых файлов в левой части рабочего окна программы.
  1. Откройте окно поиска (по умолчанию <Ctrl> + <F>) - это значок бинокля на верхней панели инструментов.
  2. Установите галочку возле кнопки Find Next - это позволит выполнять поиск по документу не только вперёд, но и назад.

Total Commander

  1. Скачиваем и устанавливаем Total Commander с официального сайта.
  2. Заскаем программу.
  1. Идем в меню Configuration > Options.
  2. Переходим на вкладку Edit/View и в качестве редактора для кнопки <F4> выбираем установленный ранее notepad++.exe (или другую IDE, которой вы пользуетесь).
  3. Жмем кнопку Apply внизу окна настроек.
  1. Переходим на вкладку Misc.
  2. В поле Redefine hotkeys ставим галочку на Ctrl + и выбираем клавишу F из выпадающего списка.
  3. В поле Command выбираем команду Search For (в открывшемся окошке будет поиск внизу).
  4. Жмем кнопку Save рядом с полем Command.
  5. Жмем кнопку ОК внизу окна настроек.
  1. Теперь комбинация клавиш <Ctrl> + <F> в главном окне программы открывает окно поиска.
  2. Поле Find Text позволяет производить поиск текста по всем файлам в открытой папке и подпапках. Таким образом, вы легко сможете найти любой интересующий вас кусок кода, где бы он не находился.
  3. Выбрав одну из найденных строк, клавишей <F3> можно открыть предпросмотр файла, где искомый текст находится.
  4. Клавиша <F4>, соответственно, откроет нужный файл в редакторе, который вы установили в пункте 4 этого руководства. Здесь уже не будет автоматического позиционирования на искомом тексте. Придется воспользоваться поиском (<Ctrl> + <F>) в самом редакторе кода.

`
ОЖИДАНИЕ РЕКЛАМЫ...
30
Странно, а почему блокнот? Там же обрезанные плюсы. Разве не проще что-то специализированное взять?
Ответы (1)
23
nazarpunk, проще np++ ничего нет.
Скорпи уже выражал недовольство по поводу моих олдскул-наклонностей))
Я обязательно запилю раздел с MSVS, но сейчас нет на это настроения.
Если есть желание помочь с этим - буду благодарен.
38
MS Visual Studio и Visual Studio Code (который я предлагаю) - совершенно противоположные по механикам продукты. Первая - огромная рабочая станция, вторая - супербыстрый опенсурс блокнот на максималках с маркетом расширений в сотни тысяч плагинов и для всех языков (даже для jass китайцы залили еще до назара). Это если бы IDE делали по практикам браузеров.

Я бы вскод юзал вообще для всех текстовых расширений и выкинул нп++, но там нет возможности для "открыть с помощью" открывать новое окно, а не вкладку)
А нет, вру, открывает. Зачем я юзаю нп++ тогда))
Ответы (1)
23
ScorpioT1000, хмм. Вот этого не знал.
Как дойдут руки поковырять Caribbean Legend - я ознакомлюсь. Они там пересобрали движок на MSVS19 и файлы скриптов все перевели в формат .b (это от вижуал бейсика, как я понял).
38
Total commander это total говно тоже. Нп++ умеет искать по папке, но более красиво это делает... Да любая блт ide это делает более красиво, в каком году мы живем)
Ответы (9)
23
ScorpioT1000, да ничего подобного.
Вставляю кусок кода в поиск что в нп++, что в вскоде - результатов нет. Вставляю тот же кусок в тотал - результы есть в разных файлах. Уже неоднократно стыкался.
Особенно вскод. Ему что в поиск не вбей - No matching results. Он вообще мне еще ни разу ничего не нашел.
Или там эпический гайд по настройке и использованию нужен, или они просто красивые, а тотал командер работает.
38
avuremybe, ты не путаешь поиск содержимого и поиск названий файлов? И открыл ли ты перед этим папку с помощью открыть?
Поиск по содержимому - это ctrl+shift+f, по названиям файлов - это ctrl+p, внутри файла - ctrl+f
И что ты такое искал, не стоит ли у тебя режим regexp?
23
ScorpioT1000, копирую название функции, вставляю в поле поиска (на нем имя папки, которую я открыл, полагаю это поиск по ней).
А он пишет "No matching results", хотя вызовов этой ф-ции много. Как минимум, в файле где я ее скопировал, она точно есть.
Что такое regexp я не знаю. Поиск по настройкам тоже не нашел.
Загруженные файлы
38
avuremybe, это не поле поиска... вон же он в левой панели большой значок. Хоткеи я уже сказал.
А это командная панель скорее всего (F1 ?), там есть много разных команд
23
ScorpioT1000, ну здесь так то такой же значок.
Еще и название папки, которая открыта как проект🤷‍♂️
Ладно, с этим разобрались.
Если еще объясниш, как заставить его понимать кастомные типы данных - вообще пушка гайд будет. Потому что в интернетах я этого так и не смог найти.
Загруженные файлы
38
avuremybe, тебе надо создать файл с typedef и не включать его в компиляцию, мне кажется только так.
Возможно, включить в инспекцию через настройки инспектора, который ты для крестов поставил. Можно подготовить такой файл и залить к нам отдельно как типа инструмент для правильной инспекции кода движка корсаров. Потому что это не чистый c++ и естественно он не будет понимать это "просто из воздуха".
23
ScorpioT1000, примеры есть? Все настройки он предлагает прописывать в тоннах .json файлов.
Догадаться, что там надо писать, я не могу, а в гайдах только настройки интерфейса.
38
avuremybe, надо курить доки, я не писал на крестах уже 9 лет
23
Вышла новая версия! Прокрутить к ресурсу
  • Добавлено описание VS Code
если у кого есть рекомендации по настройке - милости прошу
Чтобы оставить комментарий, пожалуйста, войдите на сайт.