Using VS Code with the CS Linux Servers

CMSC 141: Introduction to Python • editing your files from your own computer

The editor we use in class, Visual Studio Code ("VS Code"), runs on your own computer. With one extension it can also reach across the network and edit files that live on the UChicago CS Linux servers, which is where your coursework lives. This page walks you through installing VS Code, adding that extension, and connecting.

If you've already set up the Remote-SSH extension and just want to reconnect, skip to Connecting each time.

Installing VS Code

Go to the VS Code website and download the version for your computer. The site usually detects your operating system, so you'll see a button like "Download Mac Universal" or "Download for Windows."

Open VS Code once it's installed. It may ask you to pick a color theme; choose whatever you like and skip past the rest until you reach the welcome page. At this point you can edit files on your own computer, but not yet on the CS servers. That's the next step.

Installing the Remote-SSH extension

  1. Open VS Code.
  2. On the far left is a vertical strip of icons (the Activity Bar). Click the Extensions icon, the one that looks like four squares with one breaking away.
  3. In the search box at the top, type Remote - SSH.
  4. Find the one published by Microsoft with millions of installs, and click Install.
  5. Close the extension tab when it finishes. You're ready to configure it.

Configuring the connection (one time)

On campus, connect to eduroam, not uchicago. The uchicago network blocks SSH, so connections to the CS servers will silently time out on it.
  1. Click the blue >< button in the bottom-left corner of the window ("Open a Remote Window"). If it isn't there, the extension didn't install; redo the previous section.
  2. In the menu that drops down from the top, choose Connect to Host…
  3. Choose + Add New SSH Host…
  4. Type the following, replacing CNETID with your CNetID in lowercase, then press Enter:
    ssh CNETID@linux.cs.uchicago.edu
  5. When it asks which SSH configuration file to update, press Enter to accept the default.
  6. A "Host added!" message appears in the bottom-right corner.

Connecting each time

Once it's configured, here is the routine every time you want to work on your files:

  1. Click the >< button in the bottom-left corner.
  2. Choose Connect to Host… and pick linux.cs.uchicago.edu from the list.
  3. A new window opens. The first time you connect it asks whether to continue; choose Continue.
  4. Enter your CNetID password when prompted. It won't show dots or characters as you type, which is normal.
  5. The bottom-right corner shows "Setting up SSH Host…" for 30 to 60 seconds.
  6. Once connected, click the Explorer icon (top of the Activity Bar) and choose Open Folder. The box shows /home/CNETID/; add your course folder so it reads /home/CNETID/cmsc141/ and press Enter. You may be asked for your password again.
  7. If it asks whether you trust the authors of the files in the folder, choose Yes, I trust the authors.
  8. The first time you open a .py file, VS Code may offer to install the Python extension. Say yes.

You'll know you're connected to the server because the bottom-left corner shows the host name, and the file explorer lists your files from /home/CNETID/ rather than your laptop.

Tired of typing your password on every connect? The CS department's Remote SSH Access guide has a short section on setting up passwordless SSH with a key pair.
The steps above get you connected. For the additional VS Code configuration steps we don't cover here, see the CS department's VS Code Configuration guide.

Turning off the bells and whistles

Out of the box, VS Code tries to finish your code for you: it pops up autocomplete menus, suggests whole lines, and, if an AI extension is installed, writes code in faint gray text ahead of your cursor. In a course where the point is to learn to write the code yourself, that help gets in the way, and the AI suggestions cross the line our academic integrity policy draws around generative tools. Here is how to quiet it down.

First, don't install an AI assistant. If GitHub Copilot or a similar extension is already installed, open the Extensions panel, find it, and click Uninstall (or Disable). Using it on coursework is not allowed in this class.

Then turn off the auto-suggestions. Open the Command Palette with Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows), type Open User Settings (JSON), and press Enter. Add these lines inside the outermost curly braces, then save:

{
  "editor.inlineSuggest.enabled": false,
  "github.copilot.enable": { "*": false },
  "editor.quickSuggestions": {
    "other": false,
    "comments": false,
    "strings": false
  },
  "editor.suggestOnTriggerCharacters": false,
  "editor.acceptSuggestionOnEnter": "off",
  "editor.parameterHints.enabled": false,
  "editor.tabCompletion": "off"
}

What each line does, in plain terms:

You can also do all of this through the settings screen instead of the JSON file: open Settings with Cmd+, or Ctrl+, and search for each setting by name. If you ever want a feature back, set its value to true (or "on") again, or just delete the line.

None of this changes how your code runs. It only changes how much VS Code volunteers while you type. Turn things back on whenever you like once the course is over.