tdelame / codingame_vscode_extension

VSCode extension to ease the development of C++ CodinGame bot
MIT License
1 stars 1 forks source link
codingame cplusplus vscode

CodinGame extension for VSCode

This extension gathers some tools I use to develop more easily bots for CodinGame. The priorities of this extension are to satisfy my current needs while being simple. As a result, the extension is not very flexible or customizable.

You can read more about this extension and how to use it in this article on my blog.

Keep in mind that this extension is the first I write. Also, I never programmed in TypeScript before. Thus, there might be silly things I do here that make you want to pull your hair.

If you have any feature or improvement suggestions or want to participate in the development, let me know!

1. Features

1.1. Create a New C++ Bot Project

Create New Bot Command

Create a new C++ bot project from a starter folder. The starter folder is expected to respect these rules:

I provide a working example of starter C++ CodinGame project in another repository.

1.2. Configure Project Build

Configure Bot Command

Configure the build a bot, choosing its build type among Dev, Release, and Debug. Once the configuration is done, you can press CTRL+SHIFT+B to build the project, if you used my starter C++ CodinGame project. You will also have symbol indexing, allowing you to navigate to symbols definitions or declarations, open headers, rename variables, find references, and so on.

1.3 Open Bot Project

Open a bot project store in a folder inside the root directory of your CodinGame projects. The command is case insensitive, so if you have a bot project named MyBot, you can simply request the project for mybot.

1.4. Save Current Bot Version

Save the current version of the bot, i.e. the file package/bot.cpp, in a new file in the package folder. The new file is added the PreviousBotVersions.cmake in order to be compiled.

2. Requirements

For this extension to behave as expected, you need to have the following tools installed:

The starter C++ project I provide also requires python to execute a script that merge multiple source files into one file. It also contains a .editorconfig that could be recognized by the EditorConfig for VS Code extension.

3. Extension Settings

This extension contributes the following settings:

4. Known Issues

5. Release Notes

[2.0.1] - 2024-05-05

Changed

Removed

Fixed

[1.0.2] - 2021-03-06

Added

Fixed

[1.0.1] - 2021-02-23

Added

Changed

[1.0.0] - 2021-02-16

Added