Setting Up Tufts HPC Access in VSCode
This documentation page is currently under active development. The information may be incomplete or subject to change. Thank you for your patience as we work to improve our guides.
Step 1: Set Up Visual Studio Code (VSCode)
We strongly recommend using Visual Studio Code (VSCode) to interact with the Tufts HPC. It provides a user-friendly interface for editing files, managing your workflow, and running commands remotely.
For a complete guide on what VSCode is, why we recommend it, and how to download and install it, please refer to the main Workflow Deployment Guide.
Once you have VSCode installed, you can proceed with the steps below to configure it for the Tufts HPC.
Step 2: Establish a VPN connection
A VPN connection is required for accessing the Tufts HPC cluster, off campus. For instructions, please visit access.tufts.edu/vpn.
We strongly recommend connecting to the Tufts VPN even when you are on campus.
Directly connecting through the Tufts Secure Wi-Fi network can lead to
intermittent connection drops, which may interrupt your workflow and cause
errors, particularly when using VSCode. The VPN provides a more stable
connection and reduces the frequency of Duo authentication prompts.
Step 3: Configuring SSH FS to Remotely Connect to the Tufts HPC
Set-Up SSH Keyless Access to the Tufts HPC
Please follow the instructions below to setup your SSH keyless access. This will make your life much easier in the long run as you will not need to input your password every time you connect to the cluster using VSCode.
Setting Up SSH FS
Configuring a Connection
Using a Configuration
Step 3: Learning to Connect and Navigate the Tufts HPC in VSCode
Command Line Access
Directory / File Management
Step 4: Install Recommended Extensions for HPC Access
To enhance your experience when working with the Tufts HPC, consider installing the following extensions:
While not all of these extensions are required they are all highly recommended as they will dramatically improve your coding experience when using VSCode in conjunction with this workflow.
📌 Additional Notes
- Installation: To install these extensions, open VSCode, navigate to the Extensions view by clicking on the Extensions icon in the sidebar or pressing - Ctrl+Shift+X(- Cmd+Shift+Xon macOS), and search for each extension by name.
- Configuration: Some extensions require additional configuration. Refer to each extension's documentation for set-up and usage instructions. 
- Sync Settings: Ensure that your VSCode settings are optimized for remote work. Consider synchronizing settings across devices if you work from multiple machines. You can accomplish this by signing into VSCode using a GitHub account. 
🔒 SSH Extensions
Facilitate secure connections and file transfers:
- SSH FS: Mounts SSH remote filesystems locally for easy access and editing. Essential for connecting to the Tufts HPC.
There are multiple options for SSH extensions in VSCode that can
replace the functionality of SSH FS, but this extension
is the extension used currently by the creators of this workflow. If
you are already familiar with another extension, feel free to use it
instead.
🐍 Python Extensions
Enhance Python development with debugging and language support:
- Python: Provides rich support for Python, including IntelliSense, linting, and debugging.
- Pylance: Offers fast and feature-rich language support for Python.
- Python Debugger: Integrated debugging capabilities for Python applications.
🐍 Snakemake Extensions
Streamline Snakemake workflows:
- Snakemake Language: Adds syntax highlighting and snippets for Snakemake files.
- Snakefmt: Formats Snakemake files according to best practices.
📄 Markdown Extensions
Improve Markdown editing and linting:
- Markdown All in One: Provides comprehensive Markdown support with shortcuts and previews.
- markdownlint: Lints Markdown files to enforce consistent style and formatting.
📈 Excel/CSV File Extensions
Manage Excel and CSV files seamlessly:
- Rainbow CSV: Highlights CSV and other delimited files with different colors for each column.
- Excel Viewer: Allows viewing Excel files directly within VSCode.
📊 R Extensions
Enhance R programming with debugging and documentation:
- R: Provides R language support, including syntax highlighting and snippets.
- R Debugger: Implements debugging tools for R scripts.
- Doxygen Documentation Generator: Assists in generating Doxygen-style documentation from R code.
🔧 VSCode Quality of Life Extensions
Improve your coding environment with these quality-of-life extensions:
- indent-rainbow: Highlights indentation levels with different colors for better readability.
- Material Icon Theme: Provides a set of icons for various file types.
- oh-lucy: Adds aesthetic themes and enhancements to your editor.
- Prettier: An opinionated code formatter that supports many languages.
- Todo Tree: Displays TODOs and other annotations in a tree view.
- vscode-pdf: Enables PDF viewing directly within VSCode.