Extras

There are a couple of additional (non-JupyterLab or JupyterNotebook related features) included in the Default Jupyter environment. These currently are two IDEs, VS Code and RStudio.

VS Code

VS Code is available in the Default environment and the Remote Desktop environments. The VS Code launcher icon will start an instance of the Code Server service running on the EP where HTCondor put your Jupyter instance. This means that VS Code has access to the resources you requested, and the cluster file server.

For more information about using VS Code, please see the VS Code Documentation pages.

VS Code In The CSaW Environment

When planning to use VSCode make sure to request an additional 2-4GB of memory to prevent going over your memory allocation and crashing. It is not a light weight process, and can get extra heavy when running many extensions. The memory used by VS Code will not be visible in the JupyterLab memory monitor.

Because this is implemented by using Code-Server and not a real VS Code installation, the extensions that are available are provided by Open VSX and not Microsoft’s marketplace. There are also a couple of proprietary extensions that are not compatible with Code-Server; at this time that includes “Live Share” and “Remote Extensions (SSH, Containers, WSL)”, see the Code-Server FAQ for the complete list and additional information.

By default VS Code’s File Watcher process will scan all directories under it’s current working directory for information and file changes. This can be very taxing on the file server, in particular on very large directories. You may be asked to exclude directories from the file watcher, or disable it entirely if it negatively impacts other users of the cluster. To disable the file watcher add the line ** to your Watcher Exclude list. This list can be found under File -> Preferences -> Settings then Text Editor -> Files and finally scroll down to the Watcher Exclude section.

RStudio

RStudio is also available in the Default environment and the Remote Desktop environments.

By default you will have access to all the R Libraries as if you had used the R notebook launcher from your JupyterLab instance. You can install additional libraries using the usual install.packages() method. See the note below for additional guidance on how to keep your libraries out of your home directory to prevent filling your quota.

For more information about using RStudio, please see the RStudio IDE User Guide.

RStudio In The CSaW Environment

RStudio’s memory usage will not be visible in the JupyterLab interface. It does however have a memory display under the Environment tab in the top right hand corner. The information that shows how much memory is available is not correct, it will display all the system memory but HTCondor will restrict it to what you have requested, and RStudio doesn’t know how to find this number.

By default RStudio will try and install packages under your home directory, and not your shared research directory (/cluster/research-groups/$PI), academic class directory (/cluster/academic/$CLASS), or senior project directory (/cluster/academic/projects/$PROJECT) where you have additional space to work with. You can create a RStudio project under one of the directories where you have additional space, and check the Use renv with this project box. This will allow you to install all of your R libraries into your project’s directory and not your home directory.