<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html lang="en">

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Outline view</title>
<link rel="stylesheet" type="text/css" href="../help.css">
</head>

<body>

<h1>Outline view </h1>

<p>The Outline view gives you a language-based structural view of your C/C++ source code. </p>

<p>The Outline view shows the following elements in the source file in the order 
in which they occur:</p>

<ul>
  <li>C or C++ file</li>
  <li>Class</li>
  <li>Namespace</li>
  <li>Include</li>
  <li>Enum</li>
  <li>Enumerator</li>
  <li>Field</li>
  <li>Field private</li>
  <li>Field protected</li>
  <li>Field public</li>
  <li>Include</li>
  <li>Method private</li>
  <li>Method protected</li>
  <li>Method public Struct</li>
  <li>Type definition</li>
  <li>Union</li>
  <li>Variable</li>
</ul>

<p>You can also sort the list 
alphabetically. When you  select an element in the Outline view, the C/C++ 
editor highlights both the selected item and the marker bar (left margin). For example, to jump 
to the start of main() in the C/C++ editor, click <samp>main()</samp> in the Outline 
view.</p>

<p>For more information on the marker bar, see <b>Workbench User Guide &gt; Reference &gt; User interface 
information &gt; Views and editors &gt; Editor area</b>.</p>

<p>You can filter the Outline view by choosing to display or hide the following 
items:</p>

<ul>
  <li>Fields</li>
  <li>Static members</li>
  <li>Non-public members</li>
</ul>

<p>You can select an element in the Outline view, and do the following:</p>
<ul>
  <li>Open the C/C++ Search dialog box. The Search string box is populated and 
  the element type is selected.</li>
  <li>Complete a text-based search, of a workspace or a specified working set for the 
  selected element.</li>
  <li>Open a selected .h file in the editor.</li>
</ul>

<p>For more information on:</p>
<ul>
  <li>The Eclipse workspace, see <b>Workbench User Guide &gt; Tasks &gt; Upgrading 
Eclipse</b></li>
  <li>Working sets, see <b>Workbench User Guide &gt; Concepts &gt; Working sets</b></li>
</ul>

<p><img border="0" src="../images/ngconcepts.gif" ALT="Related concepts" width="143" height="21">
<br>
<a href="cdt_c_comments.htm">Comments</a><br>
<a href="cdt_c_content_assist.htm">Content Assist and code completion</a><br>
<a href="cdt_c_search.htm">C/C++ search</a><br>
<a href="cdt_c_open_declarations.htm">Open Declarations</a><br>
&nbsp;</p>
<p><img border="0" src="../images/ngtasks.gif" ALT="Related tasks" width="143" height="21">
<br>
<a href="../tasks/cdt_t_show_proj_files.htm">Displaying C/C++ file components in the 
C/C++ Projects view</a><br>
<a href="../tasks/cdt_t_search.htm">Searching for C/C++ elements</a></p>
<p><img border="0" src="../images/ngref.gif" ALT="Related reference" width="143" height="21">
<br>
<a href="../reference/cdt_u_outlineview.htm">Outline view</a><br>
&nbsp;</p>

<img src="../images/ng03_04.gif" ALT="IBM Copyright Statement" BORDER=0 width="324" height="14">

</body>

</html>