-
Notifications
You must be signed in to change notification settings - Fork 40
Setup with Dev Container
Here I will describe how to set up a development environment using the devcontainer configuration with VSCode.
- Install Dependencies
- Clone and Install the Plugins
- Open the Project
- Configure Git
- SSH Agent Forwarding
To set up your development environment, you will need three things:
- Install Docker Desktop for the devcontainer.
- Install Visual Studio Code + Dev Containers extension.
- Install Python 3.12 to run the
scripts/install.pyscript (cannot be run inside the devcontainer).
Clone the project using the SSH URL (make sure your SSH key is registered with GitHub).
git clone git@github.com:zarillion/handynotes-plugins.git
Once cloned, you can install the plugins to your AddOns/ directory using the install.py script. You must run Windows Terminal as Administrator for the symlink creation to work!
python .\scripts\install.py -c "C:\Program Files\World of Warcraft\_retail_\Interface\AddOns"
Change _retail_ to _beta_ or _ptr_ to install the plugins for Beta/PTR servers.
When you open the project in Visual Studio Code, it will automatically recognize that this project contains a dev-container configuration:

Select "Reopen in Container" to build the development container and open the project inside of it. This container will include all of the dependencies needed to build the project, including Lua and Python.
Before you can commit to the project, you will need to configure your username and email to match your GitHub account. Global git configuration settings will not be available within the container, so you'll need to set them locally. Run the following commands inside the container using the TERMINAL window in VSCode:
git config user.name "<username>"
git config user.email "<email>"
git config pull.rebase true
The last command (pull.rebase true) tells Git to not create a merge commit every time you run a git pull, and instead attempt to keep the history nice and linear with a rebase.
The development container will automatically forward your SSH key from your agent into the container. However, on Windows this does not work without installing the latest available "ssh-agent" service. You can follow the instructions on this wiki page to get the latest agent.
You can run the following inside the container to check if your key has been forwarded:
# ssh-add -l
3072 SHA256:<hash> <comment>
If this command instead shows "The agent has no identities.", your key has not been forwarded into the container.