Bons Vivants README
Extension bonsvivants
for Light and Wonder frontend devs.
Features
Translations tool -> copies new lines received from SDL into your existing translations folder, editting keys that already exist and adding new lines.
Scaffold tool -> creates boilerplate code ready to be used for the many types of classes we use.
To use the translation tool:
- Right click on the
translations
folder of your project
- Select
Bons Vivants
-> Add/Edit Translation lines
- A folder selection screen will show up. Navigate to the folder you received from SDL with the new lines and select it.
That's it, the tool will read each file from the SDL folder, match it by name with the files in your project folder, then go through each line to substitute the values of the matching keys.
In this first version, we assume that we only received files in the SDL folder, and the file names are an exact match to the files inside the project's translation folder.
To use the Scaffold tool
- Either:
- Right click anywhere on the explorer window of VS Code
- Open the Command Palette (F1 or Ctrl+P) and write Scaffold
- Choose one of the file types presented.
- Each file type chosen will be followed with different options, write the answers in the Command Palette.
That's it, the tool will create a file according to the selected options in the appropriate folder of the project.
The tool assumes VS Code is open on the root of the project folder, where game files are stored in the /modules/Game/src/
folder
The tool will create each file in the following folders (creating the path as necessary):
- ComponentFlow ->
/modules/Game/src/components
- States ->
/modules/Game/src/states
- Feature ->
/modules/Game/src/features
- View ->
/modules/Game/src/views
- WinRenderer ->
/modules/Game/src/winrenderers
Expanding the extension
In package.json
:
- Under the
contributes.commands
array, add a new object with a command id
and title
.
- Under
contributes.menus.bonsvivants.menu
, add a new object with a reference to the new command id
.
In extension.ts
:
- Register a new command with the
commands.registerCommand()
method.
- Push it into the
context.subscriptions
array.