Workbench Views
The Project Explorer view
The Project Explorer is the main utility to work with C/C++ projects. The Project Explorer contains all HighTec IDE projects currently available in the workspace and allows you to open source files for editing or engage other actions, such as build.
The Project Explorer presents the project items in the form of a tree structure. The tree starts with the project name on the first level. The second level contains the project resources. You can group the project resources into folders. Folders reflect the physical structure of the project on the disk. Folders, however, may also be only Virtual, grouping content based on a particular type or location in the file system.
The following picture gives you a comprehensive overview:
ID | Description |
---|---|
1 |
Project name. It contains information about the toolchain version selected for the build as well as the active configuration. |
2 |
Virtual folder which holds the output binary file. |
3 |
Virtual folder which collects all the configured include path locations. |
4 |
Project header files. |
5 |
Project source files. |
6 |
Output folder. The folder name came from the active build configuration name. It contains all the files generated during the build process (*.o, *.map, …). |
7 |
Project linker files. |
The Editor view
The C/C++ editor provides specialized features for editing C/C++ related files.
The editor offers an effective environment to compose your C/C++ code, including:
-
Run as you type code analysis
-
Content/code assist and parameter hints
-
Advanced syntax highlighting
-
Word completion
-
Code folding and line numbering
-
Find/Replace/Refactor options
The most common way to invoke the C/C++ editor is to open a file from the Project Explorer or the C/C++ Project views using pop-up menus or by clicking the file (single or double-click depending on the user preferences).
The C/C++ editor does not contain a toolbar itself but relies on the use of the main toolbar, Edit menu, Search menu and keybinding actions.
The IDE provides default editors for other types of sources as well, such as makefile, linker, and text or map files. The level of supported features may vary.
The Memory Allocation view
The memory allocation view provides an overview of the memory footprint of the selected project. The memory allocation view feature is supported by the following toolchains:
GCC-based Development Platforms | LLVM-based Development Platforms |
---|---|
|
|
If this view is closed, you can open it via the menu
.The following picture gives you a comprehensive overview:
ID | Description |
---|---|
1 |
List of memory regions. |
2 |
Project name. |
3 |
Output memory map file name. |
4 |
Limits the content of the memory regions to only those matching the filter. |
5 |
Removes configured filter, and shows all regions. |
6 |
Collapses all expanded memory regions. |
7 |
Opens configuration window. |
8 |
Memory allocation view menu. The menu provieds these options:
|
9 |
Image associated with the memory region type (see Memory region types). |
10 |
The tooltip shows exact value hexadecimal value and its decadic conversion as well as human-readable rounded conversion to an integer number using convenient units (K, M, G, …). |
The memory allocation view provides information about the memory configuration and memory usage by your application. The view provides this information:
-
The list of all defined memory regions.
-
The size of used memory in [%] and [bytes] units.
-
The total size of the memory region.
-
The list of output sections for each memory region.
-
the list of mirrors in case of a mirrored memory region.
You can see several different elements within the memory allocation view. See the following table for more details.
Icon | Type | Description |
---|---|---|
The memory region |
The memory region, which you defined within the linker script by the command |
|
The output section |
the output section, which you defined in the linker script by the command |
|
Mirrored memory region |
Memory regions with different logical addressing of the same physical memory. |
|
Memory region group |
Logical group collecting more memory regions. |
|
Default memory region group |
Logical group collecting all the memory regions which you do not assign to any other group. |
NOTE: The memory allocation view implementation relly on the parsed output of the generated memory map file. In the case, the memory map file is corrupted or missing the memory allocation view does not show any data.
To make the view better understandable, you can define logical groups and assign the memory regions to them. This way you can minimize the number of regions displayed at one time. The group definition and its regions assignment are accessible via the config window which you can open by click to the config icon ().
ID | Description |
---|---|
1 |
The list of the available memory regions. |
2 |
The list of groups with their assigned regions. |
3 |
Creates a new group. |
4 |
Removes a selected group. |
5 |
Adds memory region into the selected group. |
6 |
Removes selected region. |
7 |
Saves the configuration and closes the configuration window. |
8 |
Discards changes in your configuration and closes the window. |
If you create a groups configuration, your memory allocation view then can look like the following.
Problems view
Sooner or later you will run into problems with your code or your project setup. To view the problems discovered in your project, you can use the Problems view which is part of the standard Hightec perspective. The view shows error and warning messages generated by instant code checkers or reported during the build process. If this view is closed, you can open it via
.Console view
The Console view displays the output of a process activated by the user, such as the build process.
ID | Name | Description |
---|---|---|
1 |
Next error |
Show the next error in the Console view. |
2 |
Previous error |
Show the previous error in the Console view. |
3 |
Show error in Editor |
Toggle to synchronize the selected error with the Editor view (default). |
4 |
Copy build log |
Copy build output to file. |
5 |
Scroll Lock |
Toggles the Scroll Lock. |
6 |
Wrap lines |
Toggles wrapping lines option. |
7 |
Clear Console |
Clears the current console. |
8 |
Pin Console |
Forces the Console view to remain on top of other views in the window area. |
9 |
Display selected Console |
If multiple consoles are open, you can choose the one to display from a list. |
10 |
Open Console |
Opens a new console to show the log for:
|
Build console provides also highlighting of build problems. You can use double-click on a highlighted line to open code in an editor when error parsers can determine file and line from build output.
The HighTec Memory Overview (preview)
The memory overview view provides an overview of the memory utilization of the selected project in other graphical interpretation. This view is a preview of the coming future features and is supported by the following toolchains:
GCC-based Development Platforms | LLVM-based Development Platforms |
---|---|
|
|
You can open the view it via the menu
.The following picture gives you a quick overview:
ID | Description |
---|---|
1 |
List of memory regions/section/symbols ordered ascending by address. |
2 |
Project name. |
3 |
Output memory map file name. |
4 |
Navigation back to a higher level of view. |
5 |
Memory region/section/symbol detail information. |
6 |
Tooltip with detail information. |
The memory overview can display three different levels of view. The Top-level is represented by the memory regions. By click on any region, the view is switched to a middle-level view providing the information about the output section of the given region. By clicking on any section, the view is switched to the lowest level displaying all the symbols related t the given output section. In each level of the view, you can zoom in/out the displayed blocks by the CTRL + mouse-wheel action to see more details.
The memory regions view shows the memory region, which you defined within the linker script by the command MEMORY
. The size of a single block represents the memory region size relative to the whole memory.
The section view shows the output section, which you defined in the linker script by the command SECTION
. The size of a single block represents the output section size relative to the parent memory region size.
The symbols view displays all symbols related to the parent output section. Since the number of symbols can be relatively high, the default view is configured to minimal symbol size. You can see the symbol details either in the tooltip (triggered by mouse-over action) or by zoom-in the whole symbols view.
See the details of the displayed elements below.
Memory region
ID | Description |
---|---|
1 |
Memory name. |
2 |
Memory origin. |
3 |
Memory length. |
4 |
Free memory. |
5 |
Memory flags. |
6 |
Used memory. |
Notification queue
The notification queue contains all rised and not cleared notifications. You can open the notification queue either by click to the icon in IDE the status bar or from the menu
.ID | Description |
---|---|
1 |
List of notifications. |
2 |
Number of pending notifications. |
3 |
Clear all pending notifications. |
4 |
Close notification queue. |