Euler: Alternatives to VSCode

An explanation of why VSCode is blocked on Euler and a few alternative options for users

Alternative Workflows for Visual Studio Code users

Overview

Many developers prefer1 the modular and customizable integrated development environment provided by Microsoft's now ubiquitous editor, Visual Studio Code. However, the Visual Studio Code Remote - SSH plugin is not allowed on Euler due to some serious incompatibilities. This article aims to explain part of the reason why VSCode isn't allowed on Euler and what tools users can try instead.

Alternatives which run on Euler

If you MUST edit files directly on Euler, your best option is to use a text-based editor, such as Vim or GNU Emacs. Despite their somewhat higher learning curve, many of these tools support plugins and customizations on par with most IDEs and will work just fine on Euler. If your preferred text-based text editor is not currently available on Euler, it may be possible to add it to the default configuration in a future update.

Common Tools

  • Vim (vim)
  • Neovim (nvim)
  • GNU Emacs without X (emacs-nw)
  • GNU nano (nano)

Alternatives which use Visual Studio Code as a local editor

You don't have to give up on having Visual Studio Code on your personal device. As long as you don't run it on or connect it to Euler, there should be no problem. You are welcome to edit code, build it, and even run it on your personal system using VSCode as much as you like. Naturally, these same options apply for any other editor that you might want to run on your personal device.

The options below are suggestions for ways you can transmit code changes made on your own device to Euler.

Version control system

Version control systems are a great way to keep track of code changes, synchronize them across multiple systems, and even distribute them to other users. Tools like git are already a part of many users' workflows and can even integrate into VSCode on a personal device.

SCP or SFTP

Many SSH distributions provide the SCP and SFTP tools which can be used to securely send and receive files over a network.

Example

Using scp on the command line, one can copy a local project to a remote-projects folder in their Euler home directory.

scp -r local-projects/my-code bengineer@euler.engr.wisc.edu:remote-projects/

NOTE: The username@hostname: syntax used before the destination file is similar to the host specification used when connecting to Euler via SSH.

Graphical Frontends

Myriad other tools exist which are built on top of SCP and/or SFTP. While they might not be officially supported by CAE, users have reported success with them in the past:

  • FileZilla
  • WinSCP
  • Cyberduck

rsync

Rsync is a file transfer utility that can speed up transfers of directories by only copying files which have changed since the last successful synchronization attempt.

Globus

Globus is most often used by researchers who wish to move data between the various storage systems at UW-Madison. It also provides facilities for synchronizing directories between different storage locations, so it could be helpful for moving code, especially if you are already using it for your research data. The CAE KB provides instructions for accessing your Euler home directory through Globus.

Critical Incompatibility

Visual Studio Code provides a number of features which rely on quickly identifying and reloading files which have changed on disk. Depending on a user's installed extensions, these features might include code completion and autosuggestions via IntelliSense, highly responsive code linting, and fast, indexed searches. On Linux systems, this capability is implemented using a kernel subsystem called "inotify", which monitors and reports filesystem changes to the application.

The inotify subsystem is quite reliable when the underlying filesystem is managed entirely by the Linux kernel, but it has some substanial limitations2, especially related to network filesystems. Euler's network filesystem is especially sensitive to large numbers of operations being performed on the same file or directory. Large numbers of watchers on a single directory are one of the worst culprits and they are known to cause deadlocks affecting the underlying filesystem driver.

Kernel deadlocks are serious issues because they can propagate quickly, they cannot be resolved without fully restarting all affected systems, and they leave the underlying data in an undefined state which may include damage or corruption.

Affected Tools

As an open source tool, Visual Studio Code is not the only tool which inherits this flaw from its code base. A number of variants providing their own unique benefits are available, but by and large, they share the same fundamental design problem described above.

Notably, there is at least one independent tool which uses the same design and can cause the same types of errors.

The following is a non-exhaustive list of tools which are known to be incompatible with Euler :

  • Visual Studio Code
  • Code-OSS
  • VSCodium
  • Cursor IDE
  • Fleet
1

Stack Overflow, 2024 Developer Survey. (online document), 2024. Available: [https://survey.stackoverflow.co/2024/technology#most-popular-technologies-new-collab-tools] (Accessed: 2025-03-20)

2

Maintainers, "inotify — monitoring filesystem events", in Linux man-pages 6.13, p. 3328-3340, "NOTES > Limitations and caveats". (online document), 2024. Available: [https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/book/man-pages-6.13.pdf] (Accessed: 2025-03-20)



Keywords:
euler, vscode, visual studio, code, editor, text 
Doc ID:
161298
Owned by:
Colin in CAE
Created:
2026-05-13
Updated:
2026-05-13
Sites:
Computer-Aided Engineering