Visual Studio Code
This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.
Visual Studio Code is an integrated development environment (IDE) from Microsoft which can be used for remote development with Compute Canada clusters over SSH. In this context, users can run the graphical interface of Visual Studio Code locally, on their personal computer, while connecting to a cluster where the source code is located and where the debugging and testing operations are being executed. While Visual Studio Code may be used for development in a variety of programming languages, in this page we will focus on its use with Python.
When using an IDE like Visual Studio Code, it's important to distinguish what sort of action you're performing, even if all of them take place within the context of the IDE. Editing a Python script or any other text file of reasonable size (up to a few thousand lines) is a very light-weight process which requires little processing power or memory but an IDE offers you numerous other possibilities, including the ability to debug your script for example. In this case, the IDE is now executing your Python code on the shared login node and until the script crashes because of a bug, it may well consume an entire CPU core or even several if the script or the libraries which it uses are multi-threaded.