This is a documentation for Board Game Arena: play board games online !

Setting up BGA Development environment using VSCode

From Board Game Arena
Revision as of 04:17, 1 September 2022 by Victoria La (talk | contribs)
Jump to navigation Jump to search

Microsoft Visual Studio Code is light weight IDE/Editor. All desktops. https://code.visualstudio.com

Note: because of dojo style class/method declarations most IDE won't be able to index main JavaScript file properly (i.e. go to definition of function and such). If you manage to have it working in VS code some-how let us know how.

There is way to re-structure code to avoid using this style but this is not for begginers, do not use this on your first game! https://en.doc.boardgamearena.com/BGA_Studio_Cookbook#Avoiding_code_in_dojo_declare_style


File Sync

You might rely on your IDE to sync the files with the SFTP server. Each time you "save" a file with your modifications, the IDE will also submit it to the sFTP server. These are instructions for VS Code

  • Open VSCode on an empty folder that will be the local root of your project.
  • Execute Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on Mac to open the command palette, and the type/run : "SFTP: config" - the edit will open with json config
  • Update the json as below:
{
    "name": "BGA",
    "host": "1.studio.boardgamearena.com",
    "protocol": "sftp",
    "port": 22,
    "username": "<your SFTP username>",
    "password": "<your SFTP password>",
    "remotePath": "/<your project name>/",
    "uploadOnSave": true,
    "ignore": [
        ".vscode",
        ".git",
        ".DS_Store"
    ],
    "syncOption": {
        "skipCreate": false, # syncs new files
        "delete": true # syncs deleted files
    }
}

- Execute Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on Mac to open the command palette, and the type/run : "SFTP: Download Project".

This will download all the files locally, and each time you modify/save a file in VSCode, it will upload it to the SFTP Server. To force upload to a server, execute Ctrl+Shift+P -> "SFTP: Sync Local -> Remote".

Note: the SFTP sync may fail with a permissions error when create or delete nested folders. To fix this, execute `chmod 755 -R <your directory name>` in your terminal, then force sync to remote.