core/com.nokia.carbide.cpp.doc.user/html/reference/indexer.html
author fturovic <frank.turovich@nokia.com>
Tue, 02 Mar 2010 14:31:44 -0600
branchRCL_2_4
changeset 1063 c67144afafb0
parent 987 77469bd2d10b
permissions -rw-r--r--
added note on TRK improvements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
987
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     2
<title>Indexer</title>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     3
<link rel="StyleSheet" href="../../book.css" type="text/css"/>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     4
</head>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     5
   <body>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     6
<h2>Indexer</h2>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     7
<p>The C/C++ <b>Indexer</b> uses the parser to create a database of  source and header files that provide the basis for C/C++ search, navigation features and content assist. The goal of indexing is to record all named elements in a project's source code and store them with their related data. The indexer parses each source file in your project and updates related indexes. By indexing your files with the indexer, useful features such as code completion and fast file search can be used. It is also possible to specify different indexer settings for each project in your workspace.</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     8
   <p>If you choose to perform the <b>Full C/C++ Indexer </b>option the indexer will consume the CPU for some time, but you will gain more benefit from the process after it completes.
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
     9
    However, if you do not require the benefits of indexing your project, select the <b>No Indexer</b> option to speed up the process of building your project.</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    10
   <p>The indexer runs on a background thread and reacts to resource change events such as:</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    11
   <ul>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    12
     <li>C/C++ project creation/deletion</li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    13
     <li>Source files creation/deletion</li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    14
     <li>File imports</li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    15
     <li> Source file content changes</li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    16
   </ul>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    17
   <p>The global <b>Indexer</b> is accessed by selecting <b>Window &gt; Preferences &gt; C/C++ &gt; Indexer</b> (figure 1). The sections outlined in red appear as part of the project level indexer.</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    18
   <p class="note"><b>NOTE</b> You can also rebuild a project's index by selecting a project, then right-click  and select the <b>Rebuild Index</b> menu item. </p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    19
   <p align="center" class="Image"><img src="images/indexer.png" width="627" height="704" /></p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    20
   <p align="left" class="figure">Figure 1 - Indexer Window in Preferences Panels</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    21
   <p align="left" class="Image">The project  indexer is accessed by selecting a project in the Project Explorer or Symbian Project Navigator view and selecting <b>Project &gt; Properties &gt; C/C++ General &gt; Indexer</b> (figure 2).</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    22
   <p align="center" class="Image"><img src="images/indexer_prop.png" width="682" height="579" /></p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    23
   <p align="left" class="figure">Figure 2 - Indexer Window in Project Properties </p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    24
   <table cellpadding="2" cellspacing="0"
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    25
border="0">
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    26
	 <tr valign="top"><th width="221" class="Cell">Name</th><th width="558" class="Cell">Function</th></tr>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    27
         <tr valign="top">
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    28
           <td class="Cell"><b>Select indexer </b></td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    29
           <td class="Cell"><p>Dropdown list of available index options.</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    30
             <ul>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    31
               <li>Fast C/C++ Indexer - Source files will be indexed and eat up a lot of CPU time and memory during the first generation of the indexer. This can take some time depending on the size of your project. Afterwards the indexer will only reindex the relevant parts you changed in your code and not the whole source tree.</li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    32
               <li>Full C/C++ Indexer - Performs a complete parse of all source files and takes up the most amount of time to complete.</li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    33
               <li>No Indexer - Project source files are not indexed, therefore search features will not work accurately and code completion will not be available.</li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    34
           </ul></td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    35
        </tr>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    36
         <tr valign="top">
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    37
           <td class="Cell"><b>Apply indexer to all projects now </b></td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    38
           <td class="Cell">Select this option to apply the Fast C/C++ Indexer option to all projects in your current workspace. </td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    39
        </tr>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    40
         <tr valign="top">
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    41
           <td class="Cell"><b>Rebuild the index when changing to a different build configuration </b></td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    42
           <td class="Cell">Select this option to rescan and index the source files for the current project when you change the active build configuration. The index will be built based on the active build configuration. All macros and header files used to build the index will be taken from the active build configuration.</td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    43
         </tr>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    44
         <tr valign="top">
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    45
           <td class="Cell"><p><b>Build the index only for the build configuration specified in the project's indexer settings</b></p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    46
           <p>&nbsp;</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    47
           <p><b>Build the index only for the specified build configuration </b></p></td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    48
           <td class="Cell"><p>The indexer will only be run for the build configuration specified in the Indexer panel in the project's property settings. All macros and header files used to build the index will be taken from the specified configuration.</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    49
           <p>&nbsp;</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    50
           <p class="note"><b>NOTE</b> This option appears in the project properties indexer panel. A dropdown list is provided to select a build configuration for the currently selected project.</p></td>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    51
         </tr>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    52
   </table>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    53
	 <p>&nbsp;</p>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    54
	 <h5>Related concepts</h5>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    55
	 <ul>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    56
       <li><a href="../concepts/build_configurations.htm">Active Build Configuration</a></li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    57
  </ul>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    58
	 <h5>Related tasks     </h5>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    59
	 <ul><li><a href="../tasks/projects/prj_set_build_tgt.htm">Setting Active Build Configurations</a></li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    60
       <li><a href="../tasks/projects/prj_debug_config.htm">Creating Launch Configurations</a></li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    61
	   <li><a href="../tasks/projects/prj_new_build_config.htm">Creating Build Configurations</a></li>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    62
	 </ul>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    63
<div id="footer">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    64
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    65
   </body>
77469bd2d10b additions and revisions to tasks and ref pages and images
fturovic <frank.turovich@nokia.com>
parents: 0
diff changeset
    66
   </html>
0
fb279309251b DP tools release version Revision: 200912
Deepak Modgil <Deepak.Modgil@Nokia.com>
parents:
diff changeset
    67