<!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>Project commands: 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="Project commands: Tools for VS Code">
	<meta name="keywords" content="tools, vscode, visual, studio, code, commands, project, Codewind Developer Tools for VS Code project commands overview, connection commands, restart, debug"/>
	<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="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="cw-current-page 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="project-commands-codewind-for-vs-code">Project commands: Codewind for VS Code</h1>

<h2 id="create-a-new-project-or-work-with-an-existing-project">Create a new project or work with an existing project</h2>

<ul>
  <li>To create a new project, right-click the <em>Projects (Local)</em> item and select <strong>Create New Project</strong>, or click on the <em>+</em> icon beside the <em>Projects (Local)</em> item. You can also create a new project using the <strong>Command Palette</strong>.</li>
  <li>To work with an existing project, right-click the <em>Projects (Local)</em> item and select <strong>Add Existing Project</strong>, or click on the <em>link</em> icon beside the <em>Projects (Local)</em> item. You can also add an existing project using the <strong>Command Palette</strong>. Note that the project must already exist within the <em>codewind-workspace</em> folder.</li>
</ul>

<p>Right-click a project in the <strong>Codewind view</strong> to see most project commands. All commands are available in the <strong>Command Palette</strong>.</p>

<h2 id="commands">Commands</h2>

<ul>
  <li>
    <p><strong>Open app</strong>: Open the project application root endpoint in the system browser. The project must be in the <em>Running</em> or <em>Debugging</em> state, or the application server won’t be available.</p>
  </li>
  <li>
    <p><strong>Open Project Overview</strong>: Open an editor Tab that displays all of the Codewind information for the project. From this page, you can build, disable, or delete the project, and you can change the project auto build setting.</p>
  </li>
  <li>
    <p><strong>Open Container Shell</strong>: Open a shell, either <em>bash</em> or <em>sh</em>, in the project application container with <em>docker exec</em>. The project must have a container running. The VS Code integrated terminal needs access to your <em>PATH</em> environment variable so that it can run the <em>docker</em> command.</p>
  </li>
  <li>
    <p><strong>Open Application Monitor</strong>: Open the Codewind <strong>Application Monitor</strong> page for this project in the system browser.</p>
  </li>
  <li>
    <p><strong>Open Performance Dashboard</strong>: Opens the performance dashboard in the browser. This action is available only when the application is running or debugging.</p>
  </li>
  <li>
    <p><strong>Open Tekton Dashboard</strong>: This option is available to you only if you installed pipelines. Use this option to open the dashboard.</p>
  </li>
  <li>
    <p><strong>Add Project to Workspace</strong>: Add this project’s folder on your local disk to your VS Code workspace.</p>
  </li>
  <li>
    <p><strong>Build</strong>: Manually request an application build for this project. If the project has auto build enabled, this command should not be necessary because builds are triggered automatically with a code change. This command is also available in the project overview page. This command is equivalent to clicking the <strong>Build</strong> button in the Codewind <strong>Overview</strong> page.</p>
  </li>
  <li>
    <p><strong>Auto build</strong>: Enable or disable auto build for the project. This command is also available in the project overview.</p>
  </li>
  <li>
    <p><strong>Auto inject metrics</strong>: Enable or disable the injection of open metrics into your application at build time. This option provides monitoring capabilities that are then used by the performance dashboard. This option is disabled by default.</p>
  </li>
  <li>
    <p><strong>Enable or disable project</strong>: Enable or disable the project. This command is also available in the project overview.</p>
  </li>
  <li>
    <p><strong>Remove project</strong>: Removes the project from Codewind. The project folder can optionally be deleted from disk after removal. This command is also available in the project overview.</p>
  </li>
</ul>

<h2 id="logs">Logs</h2>

<ul>
  <li>
    <p><strong>Show all logs</strong>: Open a channel in the <strong>Output</strong> view for each of the project’s logs. To remove the output channel, use the <strong>Hide logs</strong> command.</p>
  </li>
  <li>
    <p><strong>Hide all logs</strong>: This command hides all the output channels that contain logs for this project.</p>
  </li>
  <li>
    <p><strong>Manage logs</strong>: This command presents a list of all logs for this project, which you can toggle individually.</p>
  </li>
</ul>

<h2 id="configuring-project-settings">Configuring project settings</h2>

<p>Project settings tell Codewind more about the specifics of your project and can affect the status and/or behaviour of your application. Project settings can be configured from the Project Overview page that is accessible from a project’s context menu, or you can find the project settings in the <code class="highlighter-rouge">.cw-settings</code> file of the project which you can edit from the IDE. Changes to these fields are automatically picked up by the workspace.</p>

<p>The list of supported project settings are:</p>
<ul>
  <li><a href="#context-root">Context root</a></li>
  <li><a href="#health-check-endpoint">Health check endpoint</a></li>
  <li><a href="#https-application">HTTPS application</a></li>
  <li><a href="#internal-application-port">Internal application port</a></li>
  <li><a href="#internal-debug-port">Internal debug port</a></li>
  <li><a href="#maven-profiles">Maven profiles</a></li>
  <li><a href="#paths-to-ignore-for-file-changes">Paths to ignore for file changes</a></li>
  <li><a href="#project-status-ping-timeout">Project status ping timeout</a></li>
</ul>

<h4 id="context-root"><strong>Context root</strong></h4>
<p><code class="highlighter-rouge">contextRoot: &lt;string&gt;</code></p>
<ul>
  <li>The value is used by Codewind to determine the project state</li>
  <li>The value is also used as the initial endpoint when the Open Application action is used</li>
  <li>If an incorrect context root is set, the project will be stuck in starting state</li>
  <li>If the health check endpoint is set, the context root will not be used to determine the project state</li>
  <li>If the value is not set, the default value is <code class="highlighter-rouge">/</code></li>
</ul>

<h4 id="health-check-endpoint"><strong>Health check endpoint</strong></h4>
<p><code class="highlighter-rouge">healthCheck: &lt;string&gt;</code></p>
<ul>
  <li>The value is used by Codewind to determine the project state</li>
  <li>Expected to be used for the application health check endpoint</li>
  <li>If a wrong health check endpoint is set, the project will be stuck in starting state</li>
  <li>If the health check endpoint is set, the context root will not be used to determine the project state</li>
</ul>

<h4 id="https-application">HTTPS application</h4>
<p><code class="highlighter-rouge">isHttps: &lt;boolean&gt;</code></p>
<ul>
  <li>This value tells Codewind to use the HTTPS protocol when Codewind detects the application status and also when Codewind launches the application in a browser.</li>
  <li>If your application supports HTTPS, set <code class="highlighter-rouge">isHttps</code> to <code class="highlighter-rouge">true</code>, and Codewind uses HTTPS instead of HTTP to detect application status and to open browser URLs.</li>
  <li>The default value of this setting is <code class="highlighter-rouge">false</code>.</li>
</ul>

<h4 id="internal-application-port"><strong>Internal application port</strong></h4>
<p><code class="highlighter-rouge">internalPort: &lt;string&gt;</code></p>
<ul>
  <li>Expected to be exposed, Codewind will not expose the port automatically</li>
  <li>This value is used by Codewind in conjunction with the context root to determine the project state</li>
  <li>If an incorrect port is set, the project will be stuck in starting state</li>
</ul>

<h4 id="internal-debug-port"><strong>Internal debug port</strong></h4>
<p><code class="highlighter-rouge">internalDebugPort: &lt;string&gt;</code></p>
<ul>
  <li>Only applicable to Microprofile, Spring and Node.js projects</li>
  <li>Only applicable to a local installation of Codewind</li>
  <li>Can be assigned to a non-exposed port, and Codewind will help expose the port for you</li>
  <li>If the project is already in debug mode, the project will need to be restarted in debug mode again in order to pick up the new debug port</li>
  <li>If the project is in run mode, the new debug port will be picked up and used the next time a restart in debug mode is done</li>
</ul>

<h4 id="paths-to-ignore-for-file-changes"><strong>Paths to ignore for file changes</strong></h4>
<p><code class="highlighter-rouge">ignoredPaths: &lt;string[]&gt;</code></p>
<ul>
  <li>A list of file paths that indicate a build should be triggered on file change events in relation to the paths</li>
  <li>Each item is expected to be a regex (<code class="highlighter-rouge">"*/node_modules*"</code> ) or a path relative to the project’s root directory (<code class="highlighter-rouge">"/README.md"</code>)</li>
</ul>

<h4 id="maven-profiles"><strong>Maven profiles</strong></h4>
<p><code class="highlighter-rouge">mavenProfiles: &lt;string[]&gt;</code></p>
<ul>
  <li>Only applicable to Microprofile and Spring projects</li>
  <li>A list of profiles can be set if a project requires additional Maven profiles to be used when Codewind issues Maven commands</li>
  <li>It is not advised to overwrite or remove the microclimate profile</li>
  <li>Maven profiles can be used in conjunction with Maven properties</li>
</ul>

<h4 id="maven-properties"><strong>Maven properties</strong></h4>
<p><code class="highlighter-rouge">mavenProperties: &lt;string[]&gt;</code></p>
<ul>
  <li>Only for Microprofile and Spring projects</li>
  <li>Maven properties can be entered in the form <code class="highlighter-rouge">key=value</code></li>
  <li>It is not advised to overwrite the microclimate property</li>
  <li>Maven properties can be used in conjunction with Maven profiles</li>
</ul>

<h4 id="project-status-ping-timeout">Project status ping timeout</h4>
<p><code class="highlighter-rouge">statusPingTimeout: &lt;string&gt;</code></p>
<ul>
  <li>This value is the total number of pings used by Codewind to determine if the project has timeout issues during starting state.</li>
  <li>Each ping takes 2 seconds. For example, if the value is set to 30, the timeout is 60 seconds.</li>
  <li>If the value is not set, the default value is set to <code class="highlighter-rouge">90</code> (3 minutes) for Appsody projects, and <code class="highlighter-rouge">30</code> (1 minute) for all other project types.</li>
</ul>

<hr />

<p><a href="mdt-vsc-commands-restart-and-debug.html">Next: Restart and debug</a></p>

<p><a href="mdt-vsc-commands-overview.html">Back to the commands overview</a></p>

<p><a href="mdt-vsc-overview.html">Back to the VS Code tools overview</a></p>

<p><a href="mdt-vsc-troubleshooting.html">Troubleshooting</a></p>
</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>
 