<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Introduction to Visual Studio Code for HPC | RC Learning Portal</title>
    <link>/notes/vscode-intro/</link>
      <atom:link href="/notes/vscode-intro/index.xml" rel="self" type="application/rss+xml" />
    <description>Introduction to Visual Studio Code for HPC</description>
    <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><copyright>©&nbsp;2026 The Rector and Visitors of the University of Virginia</copyright><lastBuildDate>Tue, 14 Apr 2026 05:31:18 +0000</lastBuildDate>
    <image>
      <url>/images/icon_hu13341279237897646923.png</url>
      <title>Introduction to Visual Studio Code for HPC</title>
      <link>/notes/vscode-intro/</link>
    </image>
    
    <item>
      <title>Overview</title>
      <link>/notes/vscode-intro/overview/</link>
      <pubDate>Tue, 14 Apr 2026 05:31:18 +0000</pubDate>
      <guid>/notes/vscode-intro/overview/</guid>
      <description>














&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Introduction to Visual Studio Code for HPC workshop title slide&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_0.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_0.png&#34; alt=&#34;Introduction to Visual Studio Code for HPC workshop title slide&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Before we begin, follow the QR code to take a quick survey about workshops you would like to see Research Computing run in the future:&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;QR code linking to the Research Computing workshop survey&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_1.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_1.png&#34; alt=&#34;QR code linking to the Research Computing workshop survey&#34; width=&#34;300px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;agenda&#34;&gt;&lt;strong&gt;Agenda&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;What is &amp;ldquo;VS Code?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Using VS Code on OOD&lt;/li&gt;
&lt;li&gt;Local VS Code with HPC&lt;/li&gt;
&lt;li&gt;Advanced Features&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;what-is-vs-code&#34;&gt;&lt;strong&gt;What is VS Code?&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id=&#34;background&#34;&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Exists between an &lt;strong&gt;Integrated Development Environment (IDE)&lt;/strong&gt; and a &lt;strong&gt;code editor&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IDE:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Everything needed for software development&lt;/li&gt;
&lt;li&gt;Source-code editor, build automation tools, a debugger all with a GUI&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code editor:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Lightweight, fast for writing and running code&lt;/li&gt;
&lt;li&gt;May have simple debugging features&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VS Code:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Open Source, lightweight, cross-platform, fast&lt;/li&gt;
&lt;li&gt;GUI, debugger&lt;/li&gt;
&lt;li&gt;Extensions for extra functionality&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Diagram showing VS Code positioned between a full IDE and a lightweight code editor&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_3.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_3.png&#34; alt=&#34;Diagram showing VS Code positioned between a full IDE and a lightweight code editor&#34; width=&#34;500px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;ul&gt;
&lt;li&gt;Developed by Microsoft in &lt;strong&gt;2015&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Similar to &lt;strong&gt;Visual Studio&lt;/strong&gt; which is a true &lt;strong&gt;IDE&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;VS Code focused on being lighter and more accessible&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Windows, Linux, macOS and web browsers
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://vscode.dev/&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;VS Code for the Web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Open-source
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;https://github.com/microsoft/vscode&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;VS Code on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Extremely popular
&lt;ul&gt;
&lt;li&gt;Rated #1 on a 2024 survey, &lt;strong&gt;73% of 58,000&lt;/strong&gt; respondents prefer VS Code&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href=&#34;https://survey.stackoverflow.co/2024/technology#1-integrated-development-environment&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;Technology | 2024 Stack Overflow Developer Survey&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;useful-features&#34;&gt;&lt;strong&gt;Useful Features&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;SSH to Remote Servers&lt;/li&gt;
&lt;li&gt;Customization&lt;/li&gt;
&lt;li&gt;Built-in terminal&lt;/li&gt;
&lt;li&gt;Many key bind shortcuts&lt;/li&gt;
&lt;li&gt;Fast, light-weight&lt;/li&gt;
&lt;li&gt;Debugging&lt;/li&gt;
&lt;li&gt;Cross-platform&lt;/li&gt;
&lt;li&gt;Code refactoring&lt;/li&gt;
&lt;li&gt;Extensions (R, JupyterLab, Python, C, Visual extensions)&lt;/li&gt;
&lt;li&gt;Version Control Integration with Git&lt;/li&gt;
&lt;li&gt;Bracket matching&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;extensions&#34;&gt;&lt;strong&gt;Extensions&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Extensions are available in the &amp;ldquo;marketplace&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Common extensions are free and often updated&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;https://marketplace.visualstudio.com/VSCode&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;VS Code Extension Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Extensions may require &lt;strong&gt;software&lt;/strong&gt; to already be installed on your computer
&lt;ul&gt;
&lt;li&gt;Python, Java, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code Extension Marketplace showing available extensions&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_5.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_5.png&#34; alt=&#34;Screenshot of the VS Code Extension Marketplace showing available extensions&#34; width=&#34;500px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;useful-shortcuts&#34;&gt;&lt;strong&gt;Useful Shortcuts&lt;/strong&gt;&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Action&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Shortcut&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;Ctrl+F5&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Runs your code. Run &amp;gt; Run Without Debugging&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;Save&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;Ctrl+S&lt;/code&gt; / &lt;code&gt;Ctrl+Shift+S&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;VSCode autosaves frequently. File &amp;gt; Save/Save As..&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;New Window&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;Ctrl+Shift+N&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Start a new VSCode Window. File &amp;gt; New Window&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;Command Palette&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;Ctrl+Shift+P&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;VSCode/Extension Commands. View &amp;gt; Command Palette&amp;hellip;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of VS Code keyboard shortcut reference&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_6.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_6.png&#34; alt=&#34;Screenshot of VS Code keyboard shortcut reference&#34; width=&#34;500px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

</description>
    </item>
    
    <item>
      <title>Using VS Code on OOD</title>
      <link>/notes/vscode-intro/using-ood/</link>
      <pubDate>Tue, 14 Apr 2026 05:31:18 +0000</pubDate>
      <guid>/notes/vscode-intro/using-ood/</guid>
      <description>&lt;h3 id=&#34;open-on-demand&#34;&gt;&lt;strong&gt;Open on Demand&lt;/strong&gt;&lt;/h3&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Open OnDemand dashboard at ood.hpc.virginia.edu&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_7.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_7.png&#34; alt=&#34;Screenshot of the Open OnDemand dashboard at ood.hpc.virginia.edu&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;ul&gt;
&lt;li&gt;Interactive jobs on compute nodes&lt;/li&gt;
&lt;li&gt;Access to your files in your HPC Account&lt;/li&gt;
&lt;li&gt;Access to available software modules&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;a href=&#34;https://ood.hpc.virginia.edu/pun/sys/dashboard/&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;Open OnDemand (ood.hpc.virginia.edu)&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;vs-code-server&#34;&gt;&lt;strong&gt;VS Code Server&lt;/strong&gt;&lt;/h3&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of VS Code Server running in the Open OnDemand browser interface&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_8.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_8.png&#34; alt=&#34;Screenshot of VS Code Server running in the Open OnDemand browser interface&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;ul&gt;
&lt;li&gt;Keyboard shortcuts don&amp;rsquo;t work&lt;/li&gt;
&lt;li&gt;Navigate just as you would on your local&lt;/li&gt;
&lt;li&gt;&amp;ldquo;New Window&amp;rdquo; opens a new tab&lt;/li&gt;
&lt;li&gt;Any changes you make on VS Code Server are on the cluster
&lt;ul&gt;
&lt;li&gt;They don&amp;rsquo;t sync with your local&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You don&amp;rsquo;t need to install software on your own computer&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;getting-started&#34;&gt;&lt;strong&gt;Getting Started&lt;/strong&gt;&lt;/h3&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code welcome page showing options to get started&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_9.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_9.png&#34; alt=&#34;Screenshot of the VS Code welcome page showing options to get started&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;The welcome page upon launch provides you with a variety of options to get started.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;working-with-files-and-folders&#34;&gt;&lt;strong&gt;Working with Files and Folders&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id=&#34;open-a-folder&#34;&gt;&lt;strong&gt;Open a Folder&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Select &lt;strong&gt;File &amp;gt; Open Folder&amp;hellip;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Appears in the explorer for easy navigation&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code File menu with Open Folder option highlighted&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_10.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_10.png&#34; alt=&#34;Screenshot of the VS Code File menu with Open Folder option highlighted&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the folder selection dialog in VS Code&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_11.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_11.png&#34; alt=&#34;Screenshot of the folder selection dialog in VS Code&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code explorer panel after a folder has been opened&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_12.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_12.png&#34; alt=&#34;Screenshot of the VS Code explorer panel after a folder has been opened&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h4 id=&#34;add-a-folder&#34;&gt;&lt;strong&gt;Add a Folder&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Select &lt;strong&gt;File &amp;gt; Add a Folder to Workspace&amp;hellip;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Appears in the explorer for easy navigation&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code File menu with Add Folder to Workspace option highlighted&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_13.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_13.png&#34; alt=&#34;Screenshot of the VS Code File menu with Add Folder to Workspace option highlighted&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code explorer panel showing multiple folders in a workspace&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_14.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_14.png&#34; alt=&#34;Screenshot of the VS Code explorer panel showing multiple folders in a workspace&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h4 id=&#34;workspaces&#34;&gt;&lt;strong&gt;Workspaces&lt;/strong&gt;&lt;/h4&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code File menu showing Save and Open Workspace options&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_15.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_15.png&#34; alt=&#34;Screenshot of the VS Code File menu showing Save and Open Workspace options&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Save a Workspace:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Select &lt;strong&gt;File &amp;gt; Save Workspace As&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open a Workspace:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Select &lt;strong&gt;File &amp;gt; Open Workspace from File&amp;hellip;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Workspaces are configurations of your files and folders, so it can easily let you access your project configurations. You can even modify specific settings!&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Save Workspace As dialog in VS Code&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_16.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_16.png&#34; alt=&#34;Screenshot of the Save Workspace As dialog in VS Code&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of a VS Code workspace configuration file opened in the editor&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_17.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_17.png&#34; alt=&#34;Screenshot of a VS Code workspace configuration file opened in the editor&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;installing-extensions&#34;&gt;&lt;strong&gt;Installing Extensions&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Access the marketplace in your web browser, or open the extensions tab in VS Code (&lt;code&gt;Ctrl+Shift+X&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Install Python and Jupyter&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code extensions marketplace sidebar&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_18.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_18.png&#34; alt=&#34;Screenshot of the VS Code extensions marketplace sidebar&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Python extension listing in the VS Code marketplace&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_19.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_19.png&#34; alt=&#34;Screenshot of the Python extension listing in the VS Code marketplace&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Jupyter extension listing in the VS Code marketplace&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_20.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_20.png&#34; alt=&#34;Screenshot of the Jupyter extension listing in the VS Code marketplace&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;creating-a-new-file&#34;&gt;&lt;strong&gt;Creating a New File&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Select &lt;strong&gt;File &amp;gt; New File&amp;hellip;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Select your file type&lt;/p&gt;
&lt;p&gt;Make sure it is in the right folder, or move it to the correct folder in the file explorer on the left&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code File menu with New File option highlighted&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_21.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_21.png&#34; alt=&#34;Screenshot of the VS Code File menu with New File option highlighted&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code file type selection prompt&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_22.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_22.png&#34; alt=&#34;Screenshot of the VS Code file type selection prompt&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code new file type selection dialog&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_23.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_23.png&#34; alt=&#34;Screenshot of the VS Code new file type selection dialog&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of a newly created file visible in the VS Code explorer panel&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_24.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_24.png&#34; alt=&#34;Screenshot of a newly created file visible in the VS Code explorer panel&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of a new empty file open in the VS Code editor&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_25.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_25.png&#34; alt=&#34;Screenshot of a new empty file open in the VS Code editor&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

</description>
    </item>
    
    <item>
      <title>Running and Debugging</title>
      <link>/notes/vscode-intro/running-and-debugging/</link>
      <pubDate>Tue, 14 Apr 2026 05:31:18 +0000</pubDate>
      <guid>/notes/vscode-intro/running-and-debugging/</guid>
      <description>&lt;h3 id=&#34;debugging&#34;&gt;&lt;strong&gt;Debugging&lt;/strong&gt;&lt;/h3&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code debugger interface overview&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_26.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_26.png&#34; alt=&#34;Screenshot of the VS Code debugger interface overview&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;VSCode lets you debug without modifying your code&lt;/p&gt;
&lt;p&gt;Add breakpoints and view variables be updated as the code runs&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot showing breakpoints placed in a Python file in VS Code&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_27.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_27.png&#34; alt=&#34;Screenshot showing breakpoints placed in a Python file in VS Code&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code debug toolbar with step control buttons&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_28.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_28.png&#34; alt=&#34;Screenshot of the VS Code debug toolbar with step control buttons&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;&lt;strong&gt;Action&lt;/strong&gt;&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;&lt;strong&gt;Shortcut&lt;/strong&gt;&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;&lt;strong&gt;Explanation&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Continue / Pause&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;F5&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;strong&gt;Continue&lt;/strong&gt; : Resume normal program/script execution (up to the next breakpoint). &lt;strong&gt;Pause&lt;/strong&gt; : Inspect code executing at the current line and debug line-by-line.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Step Over&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;F10&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Execute the next method as a single command without inspecting or following its component steps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Step Into&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;F11&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Enter the next method to follow its execution line-by-line.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Step Out&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;Shift+F11&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;When inside a method or subroutine, return to the earlier execution context by completing remaining lines of the current method as though it were a single command.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Restart&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;Ctrl+Shift+F5&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Terminate the current program execution and start debugging again using the current run configuration.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Stop&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;code&gt;Shift+F5&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Terminate the current program execution.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h4 id=&#34;debug-a-file&#34;&gt;&lt;strong&gt;Debug a File&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Insert breakpoints by selecting a line to place a &amp;ldquo;red dot&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Run &amp;gt; Start Debugging&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Opens a terminal automatically&lt;/p&gt;
&lt;p&gt;Variables visible on the left side&lt;/p&gt;
&lt;p&gt;Walk through the debug tools&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of inserting a breakpoint by clicking the line gutter in VS Code&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_29.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_29.png&#34; alt=&#34;Screenshot of inserting a breakpoint by clicking the line gutter in VS Code&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of a VS Code debug session running with the integrated terminal open&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_30.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_30.png&#34; alt=&#34;Screenshot of a VS Code debug session running with the integrated terminal open&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code variables panel showing variable values during a debug session&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_31.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_31.png&#34; alt=&#34;Screenshot of the VS Code variables panel showing variable values during a debug session&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of VS Code debug controls during an active debug session&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_32.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_32.png&#34; alt=&#34;Screenshot of VS Code debug controls during an active debug session&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;open-a-terminal&#34;&gt;&lt;strong&gt;Open a Terminal&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Terminal &amp;gt; New Terminal&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;From here you can use regular terminal commands like &lt;code&gt;pwd&lt;/code&gt; or even load modules!&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code integrated terminal panel&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_33.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_33.png&#34; alt=&#34;Screenshot of the VS Code integrated terminal panel&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code terminal with HPC module load commands&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_34.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_34.png&#34; alt=&#34;Screenshot of the VS Code terminal with HPC module load commands&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;create-a-conda-environment&#34;&gt;&lt;strong&gt;Create a Conda Environment&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;In a new terminal:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;conda create -n my_env python=3.11 numpy pandas
conda activate my_env
pip install matplotlib
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;
&lt;h3 id=&#34;set-your-interpreter&#34;&gt;&lt;strong&gt;Set Your Interpreter&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Select your environment from your list!&lt;/p&gt;
&lt;p&gt;When you run your code it will run in your environment.&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Python interpreter selection prompt in VS Code&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_35.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_35.png&#34; alt=&#34;Screenshot of the Python interpreter selection prompt in VS Code&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the list of available Python interpreters in VS Code including conda environments&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_36.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_36.png&#34; alt=&#34;Screenshot of the list of available Python interpreters in VS Code including conda environments&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the selected Python interpreter displayed in the VS Code status bar&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_37.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_37.png&#34; alt=&#34;Screenshot of the selected Python interpreter displayed in the VS Code status bar&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;run-a-file&#34;&gt;&lt;strong&gt;Run a File&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Modify your file with some basic runnable python code&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Run &amp;gt; Run Without Debugging&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Opens a terminal automatically&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code Run menu with Run Without Debugging option highlighted&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_38.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_38.png&#34; alt=&#34;Screenshot of the VS Code Run menu with Run Without Debugging option highlighted&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of a Python script executing in the VS Code integrated terminal&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_39.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_39.png&#34; alt=&#34;Screenshot of a Python script executing in the VS Code integrated terminal&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of Python script output displayed in the VS Code terminal&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_40.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_40.png&#34; alt=&#34;Screenshot of Python script output displayed in the VS Code terminal&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;jupyter-notebooks&#34;&gt;&lt;strong&gt;Jupyter Notebooks&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Select kernel from the list of available kernels- or make your own!&lt;/p&gt;
&lt;p&gt;Recently used kernels are &amp;ldquo;starred&amp;rdquo;&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Jupyter kernel selection dialog in VS Code showing available kernels&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_41.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_41.png&#34; alt=&#34;Screenshot of the Jupyter kernel selection dialog in VS Code showing available kernels&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Create your own kernel from a conda environment:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.rc.virginia.edu/userinfo/howtos/rivanna/custom-jupyter-kernels/&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;Custom Jupyter Kernels (RC Documentation)&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;customization&#34;&gt;&lt;strong&gt;Customization&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;File &amp;gt; Preferences&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These changes stay even when you open a new interactive session&lt;/p&gt;
&lt;p&gt;You can even download extra extensions!&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code File menu with Preferences option&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_42.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_42.png&#34; alt=&#34;Screenshot of the VS Code File menu with Preferences option&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code settings panel&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_43.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_43.png&#34; alt=&#34;Screenshot of the VS Code settings panel&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

</description>
    </item>
    
    <item>
      <title>Local SSH vs OOD</title>
      <link>/notes/vscode-intro/local-ssh/</link>
      <pubDate>Tue, 14 Apr 2026 05:31:18 +0000</pubDate>
      <guid>/notes/vscode-intro/local-ssh/</guid>
      <description>&lt;h3 id=&#34;ssh-vs-ood&#34;&gt;&lt;strong&gt;SSH vs OOD&lt;/strong&gt;&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;&lt;strong&gt;SSH&lt;/strong&gt;&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;&lt;strong&gt;OOD&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Network&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;UVA Network/VPN required&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;No network requirement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Execution&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;On front-end, no running code&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;On production nodes, can run code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Resources&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;ijob resources specific to terminal&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;No need for ijobs, have resources already&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Notes&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Must take extra care to use properly&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Some extensions may be unavailable&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h3 id=&#34;why-even-ssh&#34;&gt;&lt;strong&gt;Why Even SSH?&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Extension Availability
&lt;ul&gt;
&lt;li&gt;But if one isn&amp;rsquo;t available just reach out to us!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Local preferences
&lt;ul&gt;
&lt;li&gt;But you can export the settings.json file to HPC&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;No queue wait time
&lt;ul&gt;
&lt;li&gt;But if you are requesting appropriate, interactive resources the wait time will be minutes at our busiest&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;in-most-cases-use-ood&#34;&gt;&lt;strong&gt;In Most Cases, Use OOD&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;We strongly urge our users to use OOD.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Those resources are available and best for our users.&lt;/p&gt;
&lt;p&gt;All functionality is the same and you will always have access to compute resources.&lt;/p&gt;
&lt;p&gt;You will not need to worry about overwhelming with processes or fight with ijob terminals.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;setting-up-ssh&#34;&gt;&lt;strong&gt;Setting Up SSH&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id=&#34;download-ssh-extension&#34;&gt;&lt;strong&gt;Download SSH Extension&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Search for &lt;strong&gt;&amp;ldquo;Remote – SSH&amp;rdquo;&lt;/strong&gt; in the Marketplace.&lt;/p&gt;
&lt;p&gt;It is not &lt;strong&gt;necessary&lt;/strong&gt; but it is a tool to make it &lt;strong&gt;much&lt;/strong&gt; easier&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Remote - SSH extension in the VS Code marketplace&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_44.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_44.png&#34; alt=&#34;Screenshot of the Remote - SSH extension in the VS Code marketplace&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h4 id=&#34;create-connection&#34;&gt;&lt;strong&gt;Create Connection&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Connect to Host &amp;gt; &lt;strong&gt;Add New SSH Host&amp;hellip;&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ssh -YA mst3k@login.hpc.virginia.edu
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Modify your config file&lt;/p&gt;
&lt;p&gt;You can later open and edit the config file as you need&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code Remote Explorer panel showing Connect to Host option&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_45.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_45.png&#34; alt=&#34;Screenshot of the VS Code Remote Explorer panel showing Connect to Host option&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the Add New SSH Host input dialog in VS Code&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_46.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_46.png&#34; alt=&#34;Screenshot of the Add New SSH Host input dialog in VS Code&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the SSH config file opened in VS Code for editing&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_47.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_47.png&#34; alt=&#34;Screenshot of the SSH config file opened in VS Code for editing&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the SSH config file showing the newly added HPC host entry&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_48.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_48.png&#34; alt=&#34;Screenshot of the SSH config file showing the newly added HPC host entry&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;h4 id=&#34;you-are-now-connected&#34;&gt;&lt;strong&gt;You Are Now Connected!&lt;/strong&gt;&lt;/h4&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of VS Code showing a successful connection to UVA HPC displayed in the status bar&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_49.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_49.png&#34; alt=&#34;Screenshot of VS Code showing a successful connection to UVA HPC displayed in the status bar&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;Now that you are connected you can open up your workspaces you&amp;rsquo;ve created, open your folders, etc.&lt;/p&gt;
&lt;p&gt;You can see your connection in the bottom right&lt;/p&gt;
&lt;p&gt;You still stay connected so long as you stay on the network&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot confirming the active VS Code SSH connection to the HPC cluster&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_50.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_50.png&#34; alt=&#34;Screenshot confirming the active VS Code SSH connection to the HPC cluster&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;running-code-with-ssh&#34;&gt;&lt;strong&gt;Running Code with SSH&lt;/strong&gt;&lt;/h3&gt;
&lt;h4 id=&#34;run-an-ijob&#34;&gt;&lt;strong&gt;Run an IJob&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Open a new terminal&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ijob -c 6 -A hpc_training -p interactive --time=00:30:00
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Starts an ijob on the interactive partition with 6 cores for 30 minutes&lt;/p&gt;
&lt;p&gt;Will need to wait for resources to be available&lt;/p&gt;
&lt;p&gt;An ijob is &lt;strong&gt;specific to the terminal you start it in&lt;/strong&gt;, you only have access to those resources in that terminal&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The job ends if you close the terminal&lt;/strong&gt;&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of a VS Code terminal with an active ijob session on the interactive partition&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_51.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_51.png&#34; alt=&#34;Screenshot of a VS Code terminal with an active ijob session on the interactive partition&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Important Caveats:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is for running code via terminal commands&lt;/p&gt;
&lt;p&gt;If you want to run python code you need to &amp;ldquo;Run Python File&amp;rdquo; first, then type in ijob command in that &lt;strong&gt;new&lt;/strong&gt; terminal&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Different method for JupyterLab&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DO NOT RUN JOBS FROM IJOBS&lt;/strong&gt;&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot illustrating the warning that jobs must not be run from within an ijob session&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_52.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_52.png&#34; alt=&#34;Screenshot illustrating the warning that jobs must not be run from within an ijob session&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;logging-out&#34;&gt;&lt;strong&gt;Logging Out&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;VSCode can create many processes on the front-ends.&lt;/p&gt;
&lt;p&gt;If you are going to use SSH you &lt;em&gt;must&lt;/em&gt; use it properly.&lt;/p&gt;
&lt;p&gt;Disconnect your session every time you are finished.&lt;/p&gt;
&lt;p&gt;Do not leave it running in the background.&lt;/p&gt;
&lt;p&gt;In most cases, &lt;strong&gt;OOD interactive app&lt;/strong&gt; is superior and preferred to SSH.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Advanced Features</title>
      <link>/notes/vscode-intro/advanced/</link>
      <pubDate>Tue, 14 Apr 2026 05:31:18 +0000</pubDate>
      <guid>/notes/vscode-intro/advanced/</guid>
      <description>&lt;h3 id=&#34;transferring-settingsjson&#34;&gt;&lt;strong&gt;Transferring settings.json&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Open the Command Palette and select &lt;strong&gt;Preferences: Open Profiles (UI)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Export your profile: &lt;strong&gt;… -&amp;gt; export&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On the target machine, select &lt;strong&gt;Import Profile &amp;gt; Create&lt;/strong&gt;&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code Command Palette showing Preferences: Open Profiles option&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_53.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_53.png&#34; alt=&#34;Screenshot of the VS Code Command Palette showing Preferences: Open Profiles option&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code profile export dialog&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_54.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_54.png&#34; alt=&#34;Screenshot of the VS Code profile export dialog&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;creating-an-ssh-key&#34;&gt;&lt;strong&gt;Creating an SSH Key&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Open a new bash terminal (local) and run:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;ssh-keygen
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Navigate to your &lt;code&gt;.ssh&lt;/code&gt; directory&lt;/p&gt;
&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;cat your .pub file and copy it
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Log in to remote server and paste your key in your &lt;code&gt;/home/id/.ssh/authorized_keys&lt;/code&gt; file. If it does not exist, create it.&lt;/p&gt;
&lt;p&gt;Passwordless login!&lt;/p&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the ssh-keygen command running in a local bash terminal&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_55.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_55.png&#34; alt=&#34;Screenshot of the ssh-keygen command running in a local bash terminal&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;hr&gt;
&lt;h3 id=&#34;source-control-with-github&#34;&gt;&lt;strong&gt;Source Control with GitHub&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Open a Folder or Clone a Repository&lt;/li&gt;
&lt;li&gt;Push/Pull/Commit&lt;/li&gt;
&lt;li&gt;Create new branches&lt;/li&gt;
&lt;li&gt;Even works on HPC without needing to load git module&lt;/li&gt;
&lt;/ul&gt;















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of the VS Code Source Control panel showing Git integration&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_56.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_56.png&#34; alt=&#34;Screenshot of the VS Code Source Control panel showing Git integration&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;
















&lt;figure &gt;


  &lt;a data-fancybox=&#34;&#34; 
    data-alt=&#34;Screenshot of VS Code showing GitHub source control operations including push, pull, and commit&#34;
    href=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_57.png&#34; 
    &gt;


  &lt;img src=&#34;/notes/vscode-intro/img/Introduction%20to%20visual%20studio%20code%20for%20hpc%20%281%29_57.png&#34; alt=&#34;Screenshot of VS Code showing GitHub source control operations including push, pull, and commit&#34; width=&#34;600px&#34; &gt;
&lt;/a&gt;



&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Get started with Git and GitHub:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://docs.github.com/en/get-started/start-your-journey/hello-world&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;Hello World guide on GitHub Docs&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;need-help&#34;&gt;&lt;strong&gt;Need Help?&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;
&lt;a href=&#34;mailto:Xve5kj@virginia.edu&#34;


&gt;xve5kj@virginia.edu&lt;/a&gt; | 
&lt;a href=&#34;mailto:hpc-support@virginia.edu&#34;


&gt;hpc-support@virginia.edu&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Zoom Office Hours:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tuesdays 3pm-5pm | Thursdays 10am-12pm&lt;/p&gt;
&lt;p&gt;
&lt;a href=&#34;https://www.rc.virginia.edu/support/&#34;

 
    target=&#34;_blank&#34; 
    rel=&#34;noopener&#34;

&gt;UVA Research Computing Support&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
