<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Using Content Assist</title>
<link rel="stylesheet" type="text/css" href="../help.css">
</head>

<body>

<div role="main"><h1>Using Content Assist</h1>

<p>Use Content Assist to insert C/C++ elements of your project, and templates into your code. You can insert a template into your source code rather than retyping 
commonly-used snippets of code.</p>

<p>To insert a template or element:</p>

<ol>
  <li>In the C/C++ editor, type at least the first letter of a template or 
  element then <strong>Ctrl+Space</strong>.<br>
  A list displays the templates 
    <img src="../images/template_obj.gif" alt="Templates icon" width="16" height="16"> followed by the elements that start with the letter combination you typed.<br><br>
	<img src="../images/contentAssist_example.png" alt="Editor View showing Content Assist Example">
	</li>
  <li>Do one of the following: 
  <ul>
    <li>Continue typing. The list shortens. When there is only one item in the 
    list, it is automatically inserted.</li>
    <li>Double-click an item in the list to insert it into your code. </li>
    <li>Press <strong>Esc</strong> to close the Content Assist Window.</li>
  </ul>
  </li>
</ol>

<p>To set Content Assist preferences:</p>
<ol>
  <li>Click <strong>Window &gt; Preferences</strong>.</li>
  <li>Expand <strong>C/C++</strong> and <strong>Editor</strong>.</li>
  <li>Select <strong>Content Assist</strong>.<br>
  <img src="../images/contentAssist_preferences.png"  alt="Content Assist Preferences"></li>
  <li>Do the following: 
  <ul>
	<li>To insert an element when you open Content Assist and it is the only 
    item in the list, select the <strong>Insert single proposals automatically</strong> check box.</li>
    <li>To automatically insert a common prefix of all proposals, select the <strong>Insert common prefixes automatically</strong> checkbox.</li>
    <li>To display proposals in alphabetical order, rather than by relevance, select the <strong>Present proposals in alphabetical order</strong> checkbox. </li>
	<li>To change <strong>Auto-Activation</strong> of content assist for ".", "->" or "::" triggers, select the appropriate checkboxes.</li>
  </ul>
  </li>
  <li>Click <strong>OK</strong>.</li>
</ol>
<p><img src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21">
<br>
<a href="../concepts/cdt_c_content_assist.htm">Content Assist</a></p>
<p><img src="../images/ngtasks.gif" ALT="Related tasks" width="143" height="21">
<br>
<a href="cdt_t_add_codetemp.htm">Creating and editing templates</a><br>
<a href="cdt_t_imp_code_temp.htm">Importing and exporting templates</a></p>
<p><img src="../images/ngref.gif" ALT="Related reference" width="143" height="21">
<br>
<a href="../reference/cdt_u_c_editor_con_assist.htm">Content Assist page</a><br>
<a href="../reference/cdt_u_code_temp.htm">Templates page</a></p>
<p>
<img src="../images/ng00_04a.gif" ALT="IBM Copyright Statement" >

</div></body>

</html>