<!DOCTYPE html>
<html lang="en">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112407000-2"></script>
<script>
    window.dataLayer = window.dataLayer || [];

    function gtag() {
        dataLayer.push(arguments);
    }
    gtag('js', new Date());

    gtag('config', 'UA-112407000-2');
</script>

<!-- Google Tag Manager -->
<script>
    (function (w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({
            'gtm.start': new Date().getTime(),
            event: 'gtm.js'
        });
        var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s),
            dl = l != 'dataLayer' ? '&l=' + l : '';
        j.async = true;
        j.src =
            'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-KS8HHSF');
</script>
<!-- End Google Tag Manager -->

<head>
    	<base href="/codewind/" />
	<title>Tutorial: Tools for VS Code | Codewind</title>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name="description" content="Tutorial: Tools for VS Code">
	<meta name="keywords" content="tools, vscode, visual, studio, code, example, how, use, using, tutorial, Codewind for VS Code tutorial"/>
	<link rel="icon" type="image/png" sizes="16x16" href="images/favicon-16x16.png">
	<link rel="icon" type="image/png" sizes="32x32" href="images/favicon-32x32.png">
	<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:300,400,600&display=swap" rel="stylesheet">
	<!-- Bootstrap CSS CDN -->
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
	integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
	<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
	<link rel="stylesheet" href="css/styles.css">
	<link rel="stylesheet" href="css/docs.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/themes/prism.min.css">
	

</head>

<body data-spy="scroll" data-target="#toc">
    <!-- Google Tag Manager (noscript) -->
    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KS8HHSF"
        height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
        <!-- End Google Tag Manager (noscript) -->
    <div class="main">
    <!-- Bootstrap NavBar -->
	<nav class="navbar navbar-expand-lg navbar-light cw-banner fixed-top" aria-label="topnav">
    		        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
            data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
            aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <a class="navbar-brand" href="">
            <img alt="Codewind logo image"  title="Codewind logo image" src="images/header-logo.svg" class="cw-header-logo" alt="">
        </a>
        <div class="collapse navbar-collapse justify-content-end cw-navbar-padding" id="navbarNavDropdown">
            <ul class="navbar-nav cw-navbar-nav">
                
                <li class="nav-item cw-navbar-item cw-header-link-docs">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="gettingstarted.html">Docs</a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link-news">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="news.html">News</a>
                </li>
                
                <li class="nav-item cw-navbar-item cw-header-link-news">
                    <a class="nav-link cw-nav-link cw-header-link-text" href="https://medium.com/codewind">Blog</a>
                </li>
                
                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://github.com/eclipse/codewind"><img alt="github icon"  class="banner-image"  title="github icon" data-toggle="tooltip" data-placement="top" id="cw_github_stars" title="..." src="images/banner/github.svg"/></a>
                </li>
                
                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://twitter.com/EclipseCodewind"><img alt="twitter icon"  class="banner-image" title="twitter icon" src="images/banner/twitter.png"/></a>
                </li>
                 <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="mattermost icon"  class="banner-image"  title="mattermost icon" src="images/banner/mattermost.png"/></a>
                </li>
                <li class="nav-item cw-navbar-item cw-header-link">
                    <a class="nav-link cw-nav-link" href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="youtube icon"  class="banner-image" title="youtube icon" src="images/banner/youtube.png"/></a>
                </li>
               
               
                <!-- li class="nav-item cw-navbar-item" id="download-li">
                    <button onClick="window.location.href='https://microclimate.dev/download/codewind';" type="button" class="btn cw-download-button">Download</button>
                    <a href="https://microclimate.dev/download/codewind" class="nav-link cw-nav-link cw-download-link" href="#">Download</a>
                </li>  -->


                
                <!-- Smaller devices menu END -->

            </ul>
        </div>

    	</nav>
    	<!-- End Bootstrap NavBar -->
<!-- Bootstrap row -->
<div class="row" id="body-row">
    <!-- Sidebar -->
    <div id="sidebar-container" class="bg-light"  role="navigation" aria-label="sidebar">
        <!-- Bootstrap List Group -->
        <ul class="list-group sticky-top bg-light cw-sticky-offset">
            
            <!-- Start single page getting started -->
            
            
            
		      
			  
				<a href="gettingstarted.html" 
				    
				    
					
					class="bg-light list-group-item list-group-item-action">
					Getting started
	            </a>
	            
			  
			
		      
		          
				
				    
				
				    
				
			    
				    
		        <a href="#developing_with_codewind" data-url="" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
		                <div class="d-flex w-100 justify-content-start align-items-center">
		                    <span class="menu-collapsed">Developing with Codewind</span>
		                    <span class="submenu-icon"></span>
		                </div>
		        </a>
		            
	            <div id="developing_with_codewind" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
		            
		            
		            
		            		
				    
				
				    
						
					    
						 
						 <a href="#codewind_for_eclipse" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
		                    Codewind for Eclipse
		                    <span class="submenu-icon"></span>
		                </a>
		                
						 <!-- 3d level - eclipse -->
		                <div id="codewind_for_eclipse" class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" style="">
		                
		                
		                    
		                		
						   
			                <a href="mdteclipseoverview.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Overview
			                </a>
			                 
		                		
						   
			                <a href="mdt-eclipse-installinfo.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Installing Codewind for Eclipse
			                </a>
			                 
		                		
						   
			                <a href="mdteclipseworkingwithtemplates.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Working with templates
			                </a>
			                 
		                		
						   
			                <a href="mdteclipseimportedprojects.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Adding existing projects
			                </a>
			                 
		                		
						   
			                <a href="mdteclipsemanagingprojects.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Managing Codewind projects
			                </a>
			                 
		                		
						   
			                <a href="mdteclipsebuildproject.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Building Codewind projects
			                </a>
			                 
		                		
						   
			                <a href="mdteclipsedebugproject.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Debugging Codewind projects
			                </a>
			                 
		                		
						   
			                <a href="mdteclipsetroubleshooting.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Troubleshooting Codewind for Eclipse
			                </a>
			                 
		                		
						   
			                <a href="mdteclipseuninstall.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Uninstalling Codewind for Eclipse
			                </a>
			             
			                
			           </div>
	                
	                
						    
						    
		            
		            
		            
	               
		            
		            
		            		
				    
				
				    
						
					    
						 
						 <a href="#codewind_for_vs_code" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
		                    Codewind for VS Code
		                    <span class="submenu-icon"></span>
		                </a>
		                
						 <!-- 3d level - eclipse -->
		                <div id="codewind_for_vs_code" class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" style="">
		                
		                
		                    
		                		
						   
			                <a href="mdt-vsc-overview.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Overview
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-installinfo.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Installing Codewind for VS Code
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-workingwithtemplates.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Working with templates
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-importedprojects.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Adding existing projects
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-tutorial.html" 
						        
						   		
							    
							    class="cw-current-page bg-light list-group-item list-group-item-action">
							    Tutorial
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-commands-overview.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Commands overview
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-commands-project.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Project commands
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-commands-restart-and-debug.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Restart and debug commands
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-nodejsprofiling.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Installing and running the Codewind language server for Node.js profiling
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-troubleshooting.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Troubleshooting
			                </a>
			                 
		                		
						   
			                <a href="mdt-vsc-uninstall.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Uninstalling Codewind for VS Code
			                </a>
			             
			                
			           </div>
	                
	                
						    
						    
		            
		            
		            
	               
		            
		            
		            		
				    
				
				    
						
					    
						 
						 <a href="#codewind_for_eclipse_che" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
		                    Codewind for Eclipse Che
		                    <span class="submenu-icon"></span>
		                </a>
		                
						 <!-- 3d level - eclipse -->
		                <div id="codewind_for_eclipse_che" class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" style="">
		                
		                
		                    
		                		
						   
			                <a href="mdt-che-overview.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Overview
			                </a>
			                 
		                		
						   
			                <a href="mdt-che-installinfo.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Installing Codewind for Eclipse Che
			                </a>
			                 
		                		
						   
			                <a href="mdt-che-odo-support.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    OpenShift Do (odo) support in Codewind
			                </a>
			                 
		                		
						   
			                <a href="image-registry-credentials.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Docker Registry Guidance
			                </a>
			                 
		                		
						   
			                <a href="openshiftregistry.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Using the OpenShift Registry
			                </a>
			                 
		                		
						   
			                <a href="supportingmultipleusers.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Support for multiple users
			                </a>
			                 
		                		
						   
			                <a href="viewkibanalogs.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Installing Kibana and filtering logs in IBM Cloud Private
			                </a>
			                 
		                		
						   
			                <a href="mdt-che-uninstall.html" 
						        
						   		
							    
							    class="bg-light list-group-item list-group-item-action">
							    Uninstalling Codewind for Eclipse Che
			                </a>
			             
			                
			           </div>
	                
	                
						    
						    
		            
		            
		            
	           
	            </div>
			  
			
		      
		          
				
				    
				
				    
				
			    
				    
		        <a href="#deploying_codewind_remotely" data-url="" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
		                <div class="d-flex w-100 justify-content-start align-items-center">
		                    <span class="menu-collapsed">Deploying Codewind remotely</span>
		                    <span class="submenu-icon"></span>
		                </div>
		        </a>
		            
	            <div id="deploying_codewind_remotely" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
		            
		            
		            
		                <a href="remoteoverview.html" 
						   
						   
						   
						   
					    class="bg-light list-group-item list-group-item-action">
					    Overview
						</a>
						
		            
		            
		            
	               
		            
		            
		                <a href="remoteconfiguring.html" 
						   
						   
						   
						   
					    class="bg-light list-group-item list-group-item-action">
					    Configuring your remote deployment of Codewind
						</a>
						
		            
		            
		            
	               
		            
		            
		                <a href="remoteconnectionui.html" 
						   
						   
						   
						   
					    class="bg-light list-group-item list-group-item-action">
					    Entering remote connection settings
						</a>
						
		            
		            
		            
	               
		            
		            
		                <a href="remoteremoving.html" 
						   
						   
						   
						   
					    class="bg-light list-group-item list-group-item-action">
					    Removing your remote deployment of Codewind
						</a>
						
		            
		            
		            
	           
	            </div>
			  
			
		      
			  
				<a href="guide_performance.html" 
				    
				    
					
					class="bg-light list-group-item list-group-item-action">
					Performance monitoring
	            </a>
	            
			  
			
		      
		          
				
				    
				
				    
				
			    
				    
		        <a href="#openapi_tools" data-url="" data-toggle="collapse" aria-expanded="false" class="bg-light list-group-item list-group-item-action flex-column align-items-start collapsed">
		                <div class="d-flex w-100 justify-content-start align-items-center">
		                    <span class="menu-collapsed">OpenAPI Tools</span>
		                    <span class="submenu-icon"></span>
		                </div>
		        </a>
		            
	            <div id="openapi_tools" class="cw-sidebar-div cw-sidebar-submenu collapse" style="">
		            
		            
		            
		                <a href="open-api-tools-for-vscode.html" 
						   
						   
						   
						   
					    class="bg-light list-group-item list-group-item-action">
					    Codewind OpenAPI Tools for VS Code
						</a>
						
		            
		            
		            
	               
		            
		            
		                <a href="open-api-tools-for-eclipse.html" 
						   
						   
						   
						   
					    class="bg-light list-group-item list-group-item-action">
					    Codewind OpenAPI Tools for Eclipse
						</a>
						
		            
		            
		            
	           
	            </div>
			  
			
		      
			  
				<a href="troubleshooting.html" 
				    
				    
					
					class="bg-light list-group-item list-group-item-action">
					Troubleshooting
	            </a>
	            
			  
			
			


            
        </ul>
        <!-- List Group END-->
    </div>
    <!-- sidebar-container END -->
    <!-- MAIN -->
    <div id="content-container">
    		<div class="py-5 px-5">
    		    <div class="cw-docs-spacer"></div>
        		<div role="main"><h1 id="tutorial-codewind-for-vs-code">Tutorial: Codewind for VS Code</h1>
<p>Follow this example workflow to use the tools for VS Code to develop a Node.js project. All the features demonstrated in this tutorial are also available for Microprofile and Spring projects.</p>

<p>For more detail on any of the commands, see the <a href="mdt-vsc-commands-overview.html">commands overview</a>.</p>

<ol>
  <li>First, ensure that Codewind is installed and running. For more information, see the <a href="mdt-vsc-getting-started.html">Getting started: Codewind for VS Code</a> page. Proceed after your projects appear with the <strong>Codewind view</strong>.</li>
  <li>Create a Node.js project in Codewind. Skip this step if a Node.js project already exists. This tutorial assumes that your project is called <em>nodeproject</em>.
    <ul>
      <li>Right-click the <strong>Projects (Local)</strong> item in the Codewind tree and select <strong>Create new project</strong>.</li>
      <li>In the <strong>Command Palette</strong>, select <strong>Node.js Template</strong> and press <strong>Enter</strong>.</li>
      <li>In the <strong>Command Palette</strong>, type a name for the project and press <strong>Enter</strong>.</li>
    </ul>
  </li>
  <li>Make the new project your workspace folder. This project is the only project that you need to work on for this tutorial.
    <ul>
      <li>Right-click the project and select <a href="mdt-vsc-commands-project.html#open-folder-as-workspace">Open Folder as Workspace</a>. VS Code restarts with the selected project folder as the workspace folder.</li>
    </ul>
  </li>
  <li>Open the <strong>Project Overview</strong> page to view project information.
    <ul>
      <li>Right-click the project and select <a href="mdt-vsc-commands-project.html#show-project-overview">Show Project Overview</a>.</li>
    </ul>
  </li>
  <li>To view the project standard output and error as you develop it, open the application logs.
    <ul>
      <li>Right-click the project and select <a href="mdt-vsc-commands-project.html#logs">Show Application Log</a>. The log appears in the <strong>Output</strong> view.</li>
      <li>Node.js projects do not have build logs, but if you work on some other types of projects, you can also view the build logs.</li>
    </ul>
  </li>
  <li>Open a file to edit. For example, modify the <code class="highlighter-rouge">health</code> endpoint of the default Node.js project.
    <ul>
      <li>Open a Javascript file, such as <code class="highlighter-rouge">nodeproject/server/routers/health.js</code>.</li>
      <li>Make a code change.</li>
      <li>For example, you can add the following endpoint to <code class="highlighter-rouge">health.js</code> after the existing <code class="highlighter-rouge">GET /</code> middleware function:
        <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>  router.get('/test', function (req, res, next) {
      return res.send("Yep, it worked!!");
  });
</code></pre></div>        </div>
      </li>
      <li>Codewind detects the file changes and restarts your application.
        <ul>
          <li>In the Codewind tree, the application stops and starts again as the application server restarts.</li>
          <li>You can also see <strong>nodemon</strong> restart the project in the application logs.</li>
        </ul>
      </li>
      <li>At this point, your VS Code should look similar to the following example:
 <br /><img src="dist/images/cdt-vsc/tutorial-1.png" alt="Editing nodeproject" /></li>
    </ul>
  </li>
  <li>To make sure your code change was picked up, test your new endpoint.
    <ul>
      <li>Right-click the project and select <a href="mdt-vsc-commands-project.html#open-app">Open App</a>. The project root endpoint opens in the browser, and the <strong>IBM Cloud Starter</strong> page appears.</li>
      <li>Navigate to the new endpoint. If you copied the previous snippet, add <code class="highlighter-rouge">/health/test/</code> to the URL.</li>
      <li>See the new response:<br />
 <br /><img src="dist/images/cdt-vsc/tutorial-2.png" alt="New endpoint response" /></li>
    </ul>
  </li>
  <li>You can debug your application within the container. To debug a containerized project, restart it in <strong>Debug</strong> mode.
    <ul>
      <li>Right-click the project and select <a href="mdt-vsc-commands-restart-and-debug.html#restart">Restart in Debug Mode</a>.</li>
      <li>The project restarts into the <strong>Debugging</strong> state.</li>
      <li>A debug launch configuration is created in <code class="highlighter-rouge">nodeproject/.vscode/launch.json</code>.</li>
      <li>The debugger attaches, and VS Code opens the <strong>Debug</strong> view.</li>
      <li>You can detach and <a href="mdt-vsc-commands-restart-and-debug.html#attach-debugger">reattach the debugger</a> at any time, as long as the project is still in <strong>Debug</strong> mode.</li>
    </ul>
  </li>
  <li>All of the VS Code debug functionality is now available.
    <ul>
      <li>If your code matches the screenshot, set a breakpoint at line 13 in <code class="highlighter-rouge">health.js</code>.</li>
      <li>Refresh the new endpoint page that you opened in step 7 so that a new request is made, and the breakpoint gets hit.</li>
      <li>VS Code suspends your application at the breakpoint. Here you can step through the code, inspect variables, see the call stack, and evaluate expressions in the <strong>Debug Console</strong>.
 <img src="dist/images/cdt-vsc/tutorial-3.png" alt="Debugging" /></li>
    </ul>
  </li>
</ol>
</div>
        </div>
        
    </div>
    
</div>
<!-- footer row -->
<footer>

<div id="footer-div-mobile">
        
        <div class="row">
	        <div class="col-sm-12 text-center">
		        <span>Useful Links:</span>
		        <br/><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy policy</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website terms of use</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright agent</a><br/>
		        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
		    </div>
        </div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        
        <div class="cw_footer_display_icons row">
    		<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="email icon"  title="email icon" src="images/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="twitter icon"  title="twitter icon" src="images/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="github icon"  title="github icon" src="images/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="mattermose icon"  title="mattermose icon" src="images/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="youtube icon"  title="youtube icon" src="images/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
            <div>
                <div>
                    
                    <a href="http://www.eclipse.org"><img class="cw-logo-eclipse-mobile" alt="eclipse icon"  title="eclipse icon" src="images/eclipse.svg"/></a>
                </div>
            </div>
        </div>
        </div>
        
		</div>
		
    </div>
    
    
    <div class="row cw-footer-desktop" id="footer-div">
        <div class="cw-footer-left">
        		<div class="px-5 cw-font-12>
	        <span class="cw-font-14">Useful Links:</span>
	        <br/><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy policy</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website terms of use</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright agent</a><br/>
	        <a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
	        </div>
	        
        </div>
        <div class="cw-footer-border-right"></div>
        <div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
        <div class="cw_footer_display_icons">
    		<div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="mailto:codewind-dev@eclipse.org"><img alt="email icon"  title="email icon" src="images/email-icon.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://twitter.com/EclipseCodewind"><img alt="twitter icon"  title="twitter icon" src="images/twitter-logo.svg" class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://github.com/eclipse/codewind"><img alt="github icon"  title="github icon" src="images/github-logo.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        

        <div class=" cw-footer-col text-center">
            <div class="cw-logo-mm" >
                <div class="cw-logo-mm" >
                    <a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="mattermost icon"  title="mattermost icon" src="images/mattermost-logo.png" class="cw-logo-mm" /></a>
                </div>
            </div>
        </div>
        <div class="cw-footer-col text-center">
            <div>
                <div>
                    <a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="youtube icon"   title="youtube icon" src="images/youtube-logo-dark.svg"
                            class="cw-logo" /></a>
                </div>
            </div>
        </div>
        
        </div>
        
		</div>
		<div class="cw-footer-border-right"></div>
		<div class="cw-footer-right cw-footer-same-height cw-footer-vcenter">
		<div class="cw-footer-eclipse-img cw-footer-same-height px-5 ">
	        
		<a href="http://www.eclipse.org">
		<img alt="eclipse icon"  title="eclipse icon" src="images/eclipse.svg"/>
		</a>
	        </div>
		</div>
    </div>
</footer>
<!-- footer row END -->
<!-- Main Col END -->
 <!-- Jquery -->
<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
    integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
</script>



<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
    integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
</script>


<!-- Font Awesome JS -->
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/solid.js"
    integrity="sha384-tzzSw1/Vo+0N5UhStP3bvwWPq+uvzCMfrN1fEFe+xBmv1C/AtVX5K0uZtmcHitFZ" crossorigin="anonymous">
</script>
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js"
    integrity="sha384-6OIrr52G08NpOFSZdxxz1xdNSndlD4vdcf/q2myIUVO0VsqaGHJsB0RaBE01VTOY" crossorigin="anonymous">
</script>

<script src="js/jquery.matchHeight-min.js"></script>
<script src="js/index.js"></script>
<script src="js/docs.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-docker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-json.min.js"></script>

</div>
</body>

</html>
 
 
 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.2.0/anchor.min.js"></script>
 <script>
$(document).ready(function(){
	
    anchors.options.placement = 'left';
    anchors.add('h1');
    anchors.add('h2');
    anchors.add('h3');
    anchors.add('h4');
});
</script>
 