<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
	  <link rel="stylesheet" type="text/css" href="../../help.css">
	  <title>Remote C/C++ Editor</title>
   </head>

   <body>
      <h1>Remote C/C++ Editor</h1>
    <p>The <b>Remote C/C++ editor</b> provides specialized features for editing C/C++ related files.</p>
	<p><img src="../../images/remote_c_editor.png" alt="Remote C/C++ Editor"></p>
   
    <p>Associated with the editor is a C/C++-specific <a href="outline_view.html">Outline view</a>, 
		which shows the structure of the active C, C++ or makefile.  It is updated as you edit these files.</p>

    <p>The editor includes the following features:</p>
    <ul>
      <li>Syntax highlighting</li>
      <li>Content/code assist</li>
      <li>Integrated debugging features</li>
    </ul>

    <p>The most common way to invoke the remote C/C++ editor is to open a file from
    the Project Explorer view using pop-up menus or by clicking the file
    (single or double-click depending on the user preferences).</p>
    
    <p>The remote C/C++ editor does not contain a toolbar itself, but relies on the use of the main 
	toolbar, edit menu, search menu	and key binding actions.</p>
	
	<!-- //TODO: to be re-enabled after the 3 help pages are written
	<p>The C/C++ editor does not contain a toolbar itself, but relies on the use of the main 
	<a href="cdt_u_toolbar.htm">toolbar</a>, <a href="cdt_u_m_edit.htm">edit menu</a>, <a href="cdt_u_m_search.htm">search menu </a> 
	and key binding actions.</p>
	-->
	<br>
   </body>
</html>
