The IDE provides many improvements in code assistance, including the following:
When parsing C/C++ source code, the IDE stores parse results on disk in the Code Assistance cache. When you open a project the IDE examines the cache to see if it is up to date. If the cache is up to date the IDE does not parse your project and just loads the required data for code navigation from the Code Assistance cache.
By default the Code Assistance cache resides in the ${userdir}/var/cache folder, where ${userdir} stands for the IDE user directory. The user directory in Oracle Solaris is in the user's $HOME/.solstudio/ide-<release> . The cache in the user directory cannot be shared or copied to another location.
However, if the Code Assistance cache is placed inside a project, it can be copied to another computer if that computer meets the following requirements:
The computer's operating system is identical to the operating system where the code was parsed
The tool collection used by the project is available in the same location on the computer
To instruct the IDE to place the Code Assistance cache inside your project metadata:
Add a line "cache.location=nbproject/private/cache " to either:
The project properties file (nbproject/project.properties)
The private properties file (nbproject/private/private.properties)
The difference between the project properties and private properties files is that the public one (nbproject/project.properties) is shared in the IDE via version control system by default, while the private one (nbproject/private/private.properties) is not. So if you modify private properties, you will need to synchronize the private properties file with the identical file on another machine. If a project properties file is modified, a version control system can automatically synchronize it with the one on another machine for you.
After the properties file is modified, close and reopen the project.
The IDE parses the project and the Code Assistance cache is placed into a private subdirectory in the project metadata.
Close the project and archive your nbproject/private/cache or copy it to a shared location.
If you do not close a project before copying or zipping, some data will not be flushed to cache.
The Code Assistance cache can be copied to other projects on other machines and be used instead of waiting until the IDE parses the project. If there are some newer files on the machine the cache is being copied to, only newer files are going to be parsed.
For projects created from existing sources or from a binary, the IDE now provides the following project properties to make it easier for you to use the projects in version control systems.
You can provide a list of macros (-D options) that are volatile -- they depend on time, date, or specific environment. These macros values will not be stored with the project's public metadata.
You can provide a list of environment variables that the project uses to pass system-specific paths. These macros environment variable values will not be stored with the project's public metadata. For projects from existing code or from binary, you may specify the list of environment variables to be used when storing project metadata. When the IDE stores the compiler options and an option value coincides with a variable value, a macros will be written instead.
If you create a project from existing sources where the sources have not been built and does not contain any debugging information, the IDE may have trouble configuring code assistance. In this case, you can specify in the Configure Code Assistance wizard to use a special mode, Search file system for C/C++ header files. In this mode, the IDE tries to resolve failed include directives by searching the file system for headers. The wizard asks you to enter the path to search for headers. By default, the path is the project source root.