blob: 1b920281ba55ec9402f9c0a4e3d9f6e0857af62d [file] [log] [blame]
<!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>
<title>Installing and running the Codewind language server for Node.js profiling | 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="Installing and running the Codewind language server for Node.js profiling">
<meta name="keywords" content="Node.js, Codewind, server, language, languages, code, code highlighting, highlighting, profiling, Visual Studio Code, VS Code, JavaScript"/>
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon/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="css/learn.css">
<link rel="stylesheet" href="css/blog.css">
<link rel="stylesheet" href="css/guides.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="/codewind/">
<img alt="Codewind logo image" title="Codewind logo image" src="images/header/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="learn.html">Learn</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-blog">
<a class="nav-link cw-nav-link cw-header-link-text" href="blog.html">Blog</a>
</li>
<li class="nav-item cw-navbar-item cw-header-link-guides">
<a class="nav-link cw-nav-link cw-header-link-text" href="guides.html">Guides</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="Codewind Github" class="banner-image" title="Codewind Github" data-toggle="tooltip" data-placement="top" id="cw_github_stars" title="..." src="images/header/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="Codewind Twitter" class="banner-image" title="Codewind Twitter" src="images/header/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="Codewind Mattermost" class="banner-image" title="Codewind Mattermost" src="images/header/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="Codewind YouTube" class="banner-image" title="Codewind YouTube" src="images/header/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">
<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">
<a href="overview.html"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-url="overview.html">
What is Codewind?
</a>
<!-- must be a valid css selector, or will break collapse function -->
<a href="#_getting_started" id="#_getting_started"
class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
aria-expanded="false">Getting started<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_getting_started">
<a href="gettingstarted-overview.html" class="bg-light list-group-item" data-parent="#_getting_started"
data-url="gettingstarted-overview.html">Overview: Getting started</a>
<a href="#_vs_code" id="#_vs_code"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">VS Code<span
class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_vs_code">
<a href="vsc-getting-started.html" class="bg-light list-group-item" data-parent="#_vs_code"
data-url="vsc-getting-started.html">1. Installing Codewind for VS Code</a>
<a href="vsc-firstproject.html" class="bg-light list-group-item" data-parent="#_vs_code"
data-url="vsc-firstproject.html">2. Creating your first Codewind project with Codewind for VS Code</a>
<a href="vsc-codechange.html" class="bg-light list-group-item" data-parent="#_vs_code"
data-url="vsc-codechange.html">3. Making a code change with VS Code</a>
</div>
<a href="#_eclipse" id="#_eclipse"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">Eclipse<span
class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_eclipse">
<a href="eclipse-getting-started.html" class="bg-light list-group-item" data-parent="#_eclipse"
data-url="eclipse-getting-started.html">1. Installing Codewind for Eclipse</a>
<a href="eclipse-firstproject.html" class="bg-light list-group-item" data-parent="#_eclipse"
data-url="eclipse-firstproject.html">2. Creating your first Codewind project with Codewind for Eclipse</a>
<a href="eclipse-codechange.html" class="bg-light list-group-item" data-parent="#_eclipse"
data-url="eclipse-codechange.html">3. Making a code change with Eclipse</a>
</div>
<a href="#_intellij" id="#_intellij"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-toggle="collapse" data-parent="#_getting_started" aria-expanded="false">IntelliJ<span
class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_intellij">
<a href="intellij-getting-started.html" class="bg-light list-group-item" data-parent="#_intellij"
data-url="intellij-getting-started.html">1. Installing Codewind for IntelliJ</a>
<a href="intellij-firstproject.html" class="bg-light list-group-item" data-parent="#_intellij"
data-url="intellij-firstproject.html">2. Creating your first Codewind project with Codewind for IntelliJ</a>
<a href="intellij-codechange.html" class="bg-light list-group-item" data-parent="#_intellij"
data-url="intellij-codechange.html">3. Making a code change with IntelliJ</a>
</div>
</div>
<a href="remote-deploying-codewind.html"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-url="remote-deploying-codewind.html">
Deploying Codewind remotely
</a>
<!-- must be a valid css selector, or will break collapse function -->
<a href="#_using_codewind_remotely" id="#_using_codewind_remotely"
class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
aria-expanded="false">Using Codewind remotely<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_using_codewind_remotely">
<a href="remote-codewind-overview.html" class="bg-light list-group-item" data-parent="#_using_codewind_remotely"
data-url="remote-codewind-overview.html">1. Overview: Using Codewind remotely</a>
<a href="#_2_connecting_your_ide_to_remote_codewind" id="#_2_connecting_your_ide_to_remote_codewind"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-toggle="collapse" data-parent="#_using_codewind_remotely" aria-expanded="false">2. Connecting your IDE to remote Codewind<span
class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_2_connecting_your_ide_to_remote_codewind">
<a href="remotedeploy-vscode.html" class="bg-light list-group-item" data-parent="#_2_connecting_your_ide_to_remote_codewind"
data-url="remotedeploy-vscode.html">Connecting VS Code to remote Codewind</a>
<a href="remotedeploy-eclipse.html" class="bg-light list-group-item" data-parent="#_2_connecting_your_ide_to_remote_codewind"
data-url="remotedeploy-eclipse.html">Connecting Eclipse to remote Codewind</a>
</div>
<a href="remote-setupregistries.html" class="bg-light list-group-item" data-parent="#_using_codewind_remotely"
data-url="remote-setupregistries.html">3. Adding an image registry in remote Codewind</a>
<a href="#_4_creating_and_importing_projects" id="#_4_creating_and_importing_projects"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-toggle="collapse" data-parent="#_using_codewind_remotely" aria-expanded="false">4. Creating and importing projects<span
class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="_4_creating_and_importing_projects">
<a href="remotedeploy-projects-vscode.html" class="bg-light list-group-item" data-parent="#_4_creating_and_importing_projects"
data-url="remotedeploy-projects-vscode.html">VS Code</a>
<a href="remotedeploy-projects-eclipse.html" class="bg-light list-group-item" data-parent="#_4_creating_and_importing_projects"
data-url="remotedeploy-projects-eclipse.html">Eclipse</a>
</div>
</div>
<!-- must be a valid css selector, or will break collapse function -->
<a href="#_using_codewind_on_eclipse_che" id="#_using_codewind_on_eclipse_che"
class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
aria-expanded="false">Using Codewind on Eclipse Che<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_using_codewind_on_eclipse_che">
<a href="che-installinfo.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
data-url="che-installinfo.html">1. Installing Eclipse Che for Codewind</a>
<a href="che-setupregistries.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
data-url="che-setupregistries.html">2. Adding an image registry in Codewind on Eclipse Che</a>
<a href="openshiftregistry.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
data-url="openshiftregistry.html">2a. Adding the OpenShift internal registry with Codewind</a>
<a href="che-createcodewindworkspace.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
data-url="che-createcodewindworkspace.html">3. Creating a Codewind workspace in Eclipse Che</a>
<a href="che-createfirstproject.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
data-url="che-createfirstproject.html">4. Creating your first Codewind project with Codewind for Eclipse Che</a>
<a href="che-codechange.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
data-url="che-codechange.html">5. Making a code change with Codewind for Eclipse Che</a>
<a href="che-uninstall.html" class="bg-light list-group-item" data-parent="#_using_codewind_on_eclipse_che"
data-url="che-uninstall.html">6. Uninstalling Codewind for Eclipse Che</a>
</div>
<a href="che-odo-support.html"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-url="che-odo-support.html">
OpenShift Do (odo) support in Codewind
</a>
<a href="workingwithtemplates.html"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-url="workingwithtemplates.html">
Working with templates
</a>
<!-- must be a valid css selector, or will break collapse function -->
<a href="#_developing_projects" id="#_developing_projects"
class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
aria-expanded="false">Developing projects<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_developing_projects">
<a href="checkingstatuses.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="checkingstatuses.html">Understanding application and build statuses</a>
<a href="importing-existing-projects.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="importing-existing-projects.html">Importing existing projects</a>
<a href="project-actions.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="project-actions.html">Project actions</a>
<a href="project-settings.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="project-settings.html">Project settings</a>
<a href="referencing-files.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="referencing-files.html">Referencing files external to a project</a>
<a href="private-registries.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="private-registries.html">Developing with packages from private registries and repositories</a>
<a href="offline-codewind.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="offline-codewind.html">Using Codewind offline</a>
<a href="debugging.html" class="bg-light list-group-item" data-parent="#_developing_projects"
data-url="debugging.html">Debugging in Codewind</a>
</div>
<!-- must be a valid css selector, or will break collapse function -->
<a href="#_performance_monitoring" id="#_performance_monitoring"
class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
aria-expanded="false">Performance monitoring<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_performance_monitoring">
<a href="metrics-dashboard.html" class="bg-light list-group-item" data-parent="#_performance_monitoring"
data-url="metrics-dashboard.html">Understanding the Metrics Dashboard</a>
<a href="performance.html" class="bg-light list-group-item" data-parent="#_performance_monitoring"
data-url="performance.html">Monitoring applications with the Performance Dashboard</a>
</div>
<!-- must be a valid css selector, or will break collapse function -->
<a href="#_openapi_tools" id="#_openapi_tools"
class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse"
aria-expanded="false">OpenAPI Tools<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="_openapi_tools">
<a href="open-api-tools-for-vscode.html" class="bg-light list-group-item" data-parent="#_openapi_tools"
data-url="open-api-tools-for-vscode.html">Codewind OpenAPI Tools for VS Code</a>
<a href="open-api-tools-for-eclipse.html" class="bg-light list-group-item" data-parent="#_openapi_tools"
data-url="open-api-tools-for-eclipse.html">Codewind OpenAPI Tools for Eclipse</a>
</div>
<a href="che-tektonpipelines.html"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-url="che-tektonpipelines.html">
Configuring Codewind for Tekton pipelines
</a>
<a href="troubleshooting.html"
class="bg-light list-group-item list-group-item-action flex-column align-items-start"
data-url="troubleshooting.html">
Troubleshooting
</a>
</ul>
<!-- List Group END-->
</div>
<!-- MAIN -->
<div id="content-container">
<div class="py-5 px-5">
<div class="cw-docs-spacer"></div>
<div role="main"><h1 id="installing-and-running-the-codewind-language-server-for-nodejs-profiling">Installing and running the Codewind language server for Node.js profiling</h1>
<p>The Codewind language server for Node.js profiling annotates your Node.js code with code highlighting. Code highlighting uses the profiling data gathered through Codewind load testing to highlight and show the relative time that is spent in JavaScript functions.</p>
<h2 id="running-the-extension-with-visual-studio-code-vs-code">Running the extension with Visual Studio Code (VS Code)</h2>
<ol>
<li>Open a local project that you created with <a href="vsc-getting-started.html">Codewind</a> and profiled by using the <a href="guide_performance.html">performance test</a> feature. Opening the project creates profiling data in a <code class="highlighter-rouge">load-test/[datestamp]/profiling.json</code> file in your Codewind project.</li>
<li>In VS Code, open a JavaScript file in your project. The extension highlights any lines that it finds in the profiling data and annotates them to show how often they were seen and where they were called from.</li>
</ol>
<h2 id="developing-the-extension-with-vs-code">Developing the extension with VS Code</h2>
<ol>
<li>Clone the <a href="https://github.com/eclipse/codewind-node-profiler"><code class="highlighter-rouge">codewind-node-profiler</code> repository</a> locally.</li>
<li>Run <code class="highlighter-rouge">npm install</code> in the cloned <code class="highlighter-rouge">codewind-ls-node-prof</code> folder. This command installs all necessary npm modules in both the client and server folder.</li>
<li>Open the clone of the <code class="highlighter-rouge">codewind-node-profiler</code> repository in VS Code.</li>
<li>Press <strong>Ctrl</strong>+<strong>Shift</strong>+<strong>B</strong> on Windows or <strong>Cmd</strong>+<strong>Shift</strong>+<strong>B</strong> on Mac to compile the client and server.</li>
<li>Switch to the <strong>Debug</strong> view.</li>
<li>Click <strong>Launch Client</strong> from the menu and click the <strong>Run</strong> icon.</li>
<li>If you want to debug the server and use the launch configuration, click <strong>Attach to Server</strong>.</li>
</ol>
<h2 id="testing">Testing</h2>
<p>To enable testing, run the <code class="highlighter-rouge">npm install</code> command in the <code class="highlighter-rouge">codewind-ls-node-prof</code> folder.</p>
<p>Complete the following steps to test in VS Code:</p>
<ol>
<li>Press <strong>Ctrl</strong>+<strong>Shift</strong>+<strong>B</strong> on Windows or <strong>Cmd</strong>+<strong>Shift</strong>+<strong>B</strong> on Mac to compile the client and server.</li>
<li>Run <code class="highlighter-rouge">npm run prepare-tests</code> in the <code class="highlighter-rouge">vscode/client</code> folder.</li>
<li>Switch to the <strong>Debug</strong> view.</li>
<li>Click <strong>Language Server E2E Test</strong> from the menu.</li>
<li>Run the test configuration.</li>
<li>Another editor opens while the tests are run. It automatically closes after the tests are complete.</li>
<li>Switch to the <strong>Output</strong> view with <strong>Ctrl</strong>+<strong>Shift</strong>+<strong>U</strong> on Windows or <strong>Cmd</strong>+<strong>Shift</strong>+<strong>U</strong> on Mac to see the test results.</li>
</ol>
<h2 id="building-the-extension">Building the extension</h2>
<p>Complete the following steps to build a <code class="highlighter-rouge">.vsix</code> extension package that can then be installed and published:</p>
<ol>
<li>Run <code class="highlighter-rouge">npm install</code> in the <code class="highlighter-rouge">codewind-ls-node-prof</code> folder.</li>
<li>Install the <code class="highlighter-rouge">vsce</code> package globally with <code class="highlighter-rouge">npm install -g vsce</code>.</li>
<li>Run <code class="highlighter-rouge">vsce package</code> in the <code class="highlighter-rouge">codewind-ls-node-prof</code> folder. A <code class="highlighter-rouge">.vsix</code> file is generated.</li>
</ol>
<h2 id="installing-the-extension">Installing the extension</h2>
<p>Complete the following steps to install the extension:</p>
<ol>
<li>Run <code class="highlighter-rouge">code --install-extension &lt;name of generated vsix file&gt;</code> in the <code class="highlighter-rouge">codewind-ls-node-prof</code> folder.</li>
<li>Restart VS Code. The extension appears in your list of installed extensions.</li>
</ol>
<p>For more information, see <a href="https://code.visualstudio.com/api/working-with-extensions/publishing-extension">Publishing Extension</a> on the VS Code website.</p>
</div>
</div>
<div class="py-5 px-5 text-right">
Last update: Feb 27, 2020
</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="Send us an email" title="Send us an email" src="images/footer/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="Codewind Twitter" title="Codewind Twitter" src="images/footer/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="Codewind Github" title="Codewind Github" src="images/footer/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="Codewind Mattermost" title="Codewind Mattermost" src="images/footer/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="Codewind YouTube" title="Codewind YouTube" src="images/footer/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" title="Eclipse" src="images/footer/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="Send us an email" title="Send us an email" src="images/footer/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="Codewind Twitter" title="Codewind Twitter" src="images/footer/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="Codewind Github" title="Codewind Github" src="images/footer/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="Codewind Mattermost" title="Codewind Mattermost" src="images/footer/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="Codewind YouTube" title="Codewind YouTube" src="images/footer/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" title="Eclipse" src="images/footer/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>