VS Code

Cross-platform License: MIT

What It Does

Visual Studio Code is a lightweight, extensible code editor built on Electron. It provides syntax highlighting, IntelliSense, integrated terminal, Git integration, and a massive extension ecosystem. It is not an IDE by default, but extensions turn it into one for any language or workflow you need.

Why You Need It

VS Code is the common denominator across Signal guides. Whether you are writing Python scripts for Raspberry Pi projects, editing Arduino code via PlatformIO, SSHing into remote Linux boxes, or inspecting hex dumps of firmware, VS Code handles it. It is also the host for PlatformIO, which several Signal guides depend on.

Used in: Multiple guides

How to Install It

Download from: https://code.visualstudio.com

Windows
  1. Download the Windows installer (User or System) from the link above.
  2. Run the installer. Check "Add to PATH" and "Register Code as an editor for supported file types" during setup.
  3. Open a new terminal and verify:
    code --version
Linux (Debian/Ubuntu)
sudo apt update
sudo apt install code

If the code package is not in your repos, download the .deb from the official site and install with:

sudo dpkg -i code_*.deb
sudo apt install -f
macOS
  1. Download the macOS .zip from the official site.
  2. Unzip and drag Visual Studio Code.app to Applications.
  3. Open VS Code, then Cmd+Shift+P > type "Shell Command: Install 'code' command in PATH".
Recommended Extensions for Cybersecurity/IT

Install from the Extensions panel (Ctrl+Shift+X) or via CLI:

Extension What it does CLI Install
ms-python.python Python language support, debugging, linting code --install-extension ms-python.python
ms-vscode-remote.remote-ssh Edit files on remote Linux machines over SSH code --install-extension ms-vscode-remote.remote-ssh
ms-vscode.hexeditor View and edit binary files in hex format code --install-extension ms-vscode.hexeditor
platformio.platformio-ide Embedded development (see PlatformIO tool page) code --install-extension platformio.platformio-ide
ms-vscode.cpptools C/C++ IntelliSense and debugging code --install-extension ms-vscode.cpptools
ms-azuretools.vscode-docker Dockerfile syntax, container management code --install-extension ms-azuretools.vscode-docker

How to Use It

  1. Open a project folder. Always open the root folder of your project (File > Open Folder), not individual files. VS Code uses the open folder as the workspace root for terminal paths, IntelliSense, and extension configurations.
  2. Use the integrated terminal. Press Ctrl+` (backtick) to open a terminal inside VS Code. It starts in your project folder. You can split terminals, rename them, and switch between shells (bash, PowerShell, zsh).
  3. Command Palette is everything. Press Ctrl+Shift+P (or Cmd+Shift+P on macOS) to search for any command. If you do not know where a setting is, search for it here.
  4. Remote-SSH workflow. Press Ctrl+Shift+P > type "Remote-SSH: Connect to Host" > enter user@hostname. VS Code opens a new window connected to the remote machine. You can edit files, run terminals, and debug — all on the remote host, displayed locally.
  5. Hex Editor. Right-click any file in the Explorer > Open With... > Hex Editor. Useful for inspecting firmware dumps, binary payloads, and packet captures at the byte level.

Common Gotchas

VS Code Remote-SSH requires OpenSSH client on Windows. Windows 10/11 does not always have it enabled. Go to Settings > Apps > Optional Features and install "OpenSSH Client". Without this, Remote-SSH will fail to connect.

"code" command not found in terminal after install. On macOS, you need to run the shell command installer from the Command Palette (Cmd+Shift+P > "Shell Command: Install 'code' command in PATH"). On Linux, ensure the VS Code repo was properly added or that the .deb package was installed (not just extracted).

VS Code is not Visual Studio. They share a name but are completely different products. Visual Studio is a full IDE (Windows/macOS only, several GB). VS Code is a lightweight editor (~300 MB). Guides that say "VS Code" never mean Visual Studio.

Extensions silently conflict with each other. If you install both the Microsoft C/C++ extension and the clangd extension, they will fight over IntelliSense. Disable one. Similarly, multiple Python formatters (Black, autopep8, yapf) will conflict — pick one and set it in settings.json.

Settings sync can overwrite machine-specific configs. If you enable Settings Sync across multiple machines, extension paths, font sizes, and terminal shell settings will sync. Use the "Ignored Settings" list to exclude machine-specific entries like terminal.integrated.shell.linux.

Last reviewed: March 2026