VSCode
Note: [VSCodium](https://github.com/VSCodium/vscodium) is an open-source variant of Visual Studio Code that provides the same powerful features and extensibility, but without the telemetry and branding associated with the official version.
Using VSCode
When using vscode on babel, you can use remote-ssh functionality of VSCode to connect directly to a compute node. This requires that you first create an active job on the compute node, then use an ssh proxy to ssh through a login node to the compute node. To set up the SSH configuration for connecting to the compute node, follow these steps:
1. If you have not already, set up passwordless login using a public/private key pair. Take a note of the location on your local machine of the ssh private key (e.g. ~/.ssh/id_rsa) that you are using for passwordless login, we will call it identity_file below.
2. Run a job that allocates the resources that you need for vscode development (including a GPU if you need a GPU machine). Here is an example: srun --cpus-per-task 2 --mem=8000 --wait=0 -t 02:00:00 -n 1 --pty bash --partition debug. Take a note of what machine it is running on, we will call this node_id.
3. On your local machine, update your SSH configuration file (~/.ssh/config) with the following entries. :
Host babel HostName babel.lti.cs.cmu.edu User <andrew_id> IdentityFile <identity_file> ForwardAgent yes
Host babel-compute-node HostName <node_id> User <andrew_id> IdentityFile <identity_file> ProxyJump babel StrictHostKeyChecking no UserKnownHostsFile /dev/null LogLevel ERROR
4. After configuring SSH, run VSCode natively on your local machine and use the command palette to type `Remote-SSH: Connect to Host....` Select `babel-compute-node` from the list.
Connecting to a Compute Node
You can also ssh directly to a compute node where you have a job already running by doing:
ssh -J babel babel-X-XX