---
title: "Toolbox - Workspace - MetaEditor Help"
description: "Toolbox is a multifunctional window. It shows the results of various actions performed in MetaEditor: compilation , search... - Toolbox - Workspace - MetaEditor Help"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
url: "https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox"
---

[MetaEditor Help](https://www.metatrader5.com/en/metaeditor/help) → [Workspace](https://www.metatrader5.com/en/metaeditor/help/workspace) → Toolbox

# Toolbox

Toolbox is a multifunctional window. It shows the results of various actions performed in MetaEditor: [compilation](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#errors), [search](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#search), [profiling](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#profile) and [debugging](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#debug). Besides, it provides access to the extensive [library of source codes](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#codebase) and [articles about MQL4/MQL5 programming](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#articles).

The [Journal](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#journal) tab informs of actions performed in MetaEditor, for example, the ones performed during MQL5 Algo Forge operations.

You can show or hide this window using the ![Toolbox](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_icon.png) Toolbox command of the [View](https://www.metatrader5.com/en/metaeditor/help/main_menu/main_menu_view#toolbox) window or in the [Standard](https://www.metatrader5.com/en/metaeditor/help/toolbar/toolbar_standard#toolbox) toolbar to show/hide the window.

## Errors [#](#errors)

The tab displays the program [compilation](https://www.metatrader5.com/en/metaeditor/help/development/compile) logs: data on applied files, errors and warnings.

![Errors](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_errors.png)

The log contains the following data:

- Description – event description. Icons show a type of an event: ![Error](https://www.metatrader5.com/i/help/metaeditor/en/error_icon.png) – error, ![Warning](https://www.metatrader5.com/i/help/metaeditor/en/warning_icon.png) – warning, ![Information](https://www.metatrader5.com/i/help/metaeditor/en/info_icon.png) – information message.
- File – name of a processed file. When hovering a mouse cursor, a tooltip indicating the full file path appears.
- Line – number of a line containing an error or a warning.
- Column – number of a column containing an error or a warning.

Double-click an error message, to open an appropriate file. The cursor is immediately set to the error location. A similar action is performed using the ![Go to Line](https://www.metatrader5.com/i/help/metaeditor/en/go_to_line_icon.png) Go to Line command in the context menu.

## Search [#](#search)

Results of the [search in files](https://www.metatrader5.com/en/metaeditor/help/development/source_code_find) and [MQL5.community](https://www.metatrader5.com/en/metaeditor/help/toolbar/toolbar_search) are displayed in this tab.

MetaEditor features the smart and high-performance search throughout [MQL5.community](https://www.mql5.com/) – community of traders and MQL4/MQL5 developers. The site contains all kinds of useful information: [documentation](https://www.mql5.com/en/docs), [forum](https://www.mql5.com/en/forum), [blogs](https://www.mql5.com/en/blogs) of traders and analysts, [articles](https://www.mql5.com/en/articles) related to programming and platform use. The community provides access to the huge [source code database](https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox#codebase) and [the application store](https://www.mql5.com/en/market) for the platform.

In addition to MQL5.community, the search includes other popular platforms, such as GitHub, MSDN and Stack Overflow.

The search is performed using the [toolbar](https://www.metatrader5.com/en/metaeditor/help/toolbar/toolbar_search) and the Online Search command in the [Help menu](https://www.metatrader5.com/en/metaeditor/help/main_menu/main_menu_search). Search results are conveniently displayed by categories:

![Search](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_search.png)

To have the most recent publications displayed at the top of the list, enable the "Sort by date" option to the right of the categories.

Search in files is performed using the [toolbar](https://www.metatrader5.com/en/metaeditor/help/toolbar/toolbar_search) and "Find..." command in the [Search menu](https://www.metatrader5.com/en/metaeditor/help/main_menu/main_menu_search). Results are displayed in the following form:

- File – name of a file where a search query line is found with a full file path.
- Line – number of a file line where a necessary phrase is found.
- Text – found text. The entire structure where the phrase has been found is displayed here.

![Results of searching in files](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_find_in_files.png)

To go to the found text, double-click the file name. A similar action is performed using the ![Go to Line](https://www.metatrader5.com/i/help/metaeditor/en/go_to_line_icon.png) Go to Line command in the context menu.

## Profiler [#](#profile)

This tab displays results of [profiling](https://www.metatrader5.com/en/metaeditor/help/development/profiling) a program's source code. Profiling allows you to optimize a source code by detecting the slowest fragments in it.

![Profiler](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_profiler.png)

Function name

Number of a line the function description starts from

Number of function calls performed during profiling

Time spent on the function execution: in milliseconds and as a percentage of a total time spent for executing all functions

Graphical representation of a time spent for the function execution

Context menu:

- Open – move to a line or a function in a source code file. The same can be done by double-clicking or pressing Enter.
- Expand All – expand all collapsed functions.
- Collapse All – collapse all expanded functions.
- Functions by Lines – switch to viewing profiling results [by lines.](https://www.metatrader5.com/en/metaeditor/help/development/profiling#lines)
- Functions by Calls – switch to viewing profiling results [by calls.](https://www.metatrader5.com/en/metaeditor/help/development/profiling#calls)
- Export – export profiling results in Open XML (MS Office Excel), HTML (Internet Explorer) or CSV (Text file).
- Auto Arrange – enable/disable automatic sizing of fields. The same action can be done by pressing A.
- Grid – show/hide grid to separate fields. The same action can be done by pressing G.

Find detailed instructions on profiling in a [separate section](https://www.metatrader5.com/en/metaeditor/help/development/profiling).

> The tab is not displayed before starting profiling using the ![Start Profiling](https://www.metatrader5.com/i/help/metaeditor/en/start_profiling_icon.png) Start Profiling of the [Debug](https://www.metatrader5.com/en/metaeditor/help/main_menu/main_menu_debug) menu or in the [Standard](https://www.metatrader5.com/en/metaeditor/help/toolbar/toolbar_standard) toolbar.

## Debug [#](#debug)

The Debug tab is displayed only when the [process](https://www.metatrader5.com/en/metaeditor/help/development/debug) is launched. The window is divided into two parts. The left one displays the [call stack](https://www.metatrader5.com/en/metaeditor/help/development/debug#stack), while the right one – [values of observed expressions](https://www.metatrader5.com/en/metaeditor/help/development/debug#watch):

![Debug](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_debug.png)

### Call stack

The following data on the call stack is shown:

- File – name and path of a file the function is called from.
- Function – name of a function, within which the current program execution step is conducted.
- Line – number of a line the program execution is stopped at.

If not a single breakpoint is enabled and no [step-by-step debugging](https://www.metatrader5.com/en/metaeditor/help/development/debug#step) commands are executed, the left part remains empty. The context menu allows you to show and hide the grid separating fields and set auto sizing of columns.

### Observing expressions

The right part of the Debug window is intended for [observing expression values](https://www.metatrader5.com/en/metaeditor/help/development/debug#watch) during debugging:

- Expression – tracked expression name.
- Value – tracked expression value.
- Type – expression type.

> If the expression value is not defined or not calculated at the moment, the appropriate field displays "Unknown identifier". The icons for these expressions look like this: ![Unknown identifier](https://www.metatrader5.com/i/help/metaeditor/en/unknown_identifier_icon.png).

To add an expression to the observation, select it in the source code of the program and click ![Add Watch](https://www.metatrader5.com/i/help/metaeditor/en/add_watch_icon.png) Add Watch in the context menu. Also, the observed expression can be added through the context menu of the tab: click ![Add](https://www.metatrader5.com/i/help/metaeditor/en/add_watch_icon.png) Add and specify the expression name.

## Articles [#](#articles)

The tab provides access to an extensive library of [articles on MQL4/MQL5 programming](https://www.mql5.com/en/articles) published on [MQL5.community](https://www.mql5.com/) website. Articles are an excellent guide for creating applications, since they cover a lot of practical tasks involving algorithmic trading. New articles are published every week.

![Articles](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_articles.png)

All articles are conveniently divided into categories by subjects, for example, trading, indicators, Expert Advisors, strategy tester, etc. You can sort out articles by categories via the context menu. To view an article, double-click its name or click ![View](https://www.metatrader5.com/i/help/metaeditor/en/article_view_icon.png) View in the context menu. The article will be opened in a separate browser window.

Before reading the article, you can view its brief description. To do this, hover the cursor over its name.

## Code Base [#](#codebase)

The tab provides access to the [library of MQL4/MQL5 source codes](https://www.mql5.com/en/code). The Code Base contains thousands of trading robots, indicators and scripts. Studying a source code of ready-made programs helps to better understand the principles of programming. They can also be used as a basis for your own development.

![Code Base](https://www.metatrader5.com/i/help/metaeditor/en/toolbox_codebase.png)

Name, short description, rating (defined by MQL5.community users) and publication date are displayed for each program. To view detailed information about the program on the website, double-click on it. To download the program, click ![Download](https://www.metatrader5.com/i/help/metaeditor/en/download_icon.png) Download in the context menu.

> The program file is downloaded to /MQL4 or /MQL5 directory subfolder according to the program's category. For example, all EAs are saved to /MQL5/Experts (or /MQL4/Experts).After the download, the MQL4/MQL5 program is automatically [compiled](https://www.metatrader5.com/en/metaeditor/help/development/compile).

All programs are divided into several categories marked with the corresponding icons:

- ![Expert Advisor](https://www.metatrader5.com/i/help/metaeditor/en/ea_icon.png) – Expert Advisors
- ![Indicator](https://www.metatrader5.com/i/help/metaeditor/en/indicator_icon.png) – indicators
- ![Script](https://www.metatrader5.com/i/help/metaeditor/en/script_icon.png) – scripts
- ![Library](https://www.metatrader5.com/i/help/metaeditor/en/library_icon.png) – libraries

Use the context menu to sort out programs by categories.

## Public projects [#](#public_projects)

The [Public Projects](https://www.metatrader5.com/en/metaeditor/help/mql5storage/projects#shared) tab is under development. For now, explore public projects on the MQL5 Algo Forge [website](https://forge.mql5.io/explore/repos) and work with [Shared Projects](https://www.metatrader5.com/en/metaeditor/help/mql5storage/projects#shared) under the Navigator section.

## Log [#](#journal)

The journal tab displays a log of operations that happened in MetaEditor. It includes actions you performed yourself, those executed on your behalf, [MQL5 Algo Forge](https://www.metatrader5.com/en/metaeditor/help/mql5storage) events, important notifications, and more.

![Journal tab showing logs for Git operations](https://www.metatrader5.com/i/help/metaeditor/en/mql5storage_updating.png)

The journal displays the following information for each event:

- Time – event date and time.
- Source – event type, such as Git (version control operations), Compile (compilation tasks), MCP (associated actions), and others.
- Message – event description.

All events are divided into three types marked by an appropriate icon:

- ![Information](https://www.metatrader5.com/i/help/metaeditor/en/journal_info_icon.png) – information message
- ![Warning](https://www.metatrader5.com/i/help/metaeditor/en/journal_warning_icon.png) – warning
- ![Error](https://www.metatrader5.com/i/help/metaeditor/en/journal_error_icon.png) – error message

To go the directory containing the journal file, right-click an event and select "Open". You should see a file named metaeditor.

## In this section

- [Navigator](https://www.metatrader5.com/en/metaeditor/help/workspace/navigator)
- Toolbox
- [Status Bar](https://www.metatrader5.com/en/metaeditor/help/workspace/status_bar)
- [Working with windows](https://www.metatrader5.com/en/metaeditor/help/workspace/source_code_windows)
- [Hot keys](https://www.metatrader5.com/en/metaeditor/help/workspace/hotkeys)

```json
{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "item": {"@id": "https://www.metatrader5.com/en/metaeditor/help", "name": "MetaEditor Help"}}, {"@type": "ListItem", "position": 2, "item": {"@id": "https://www.metatrader5.com/en/metaeditor/help/workspace", "name": "Workspace"}}, {"@type": "ListItem", "position": 3, "item": {"@id": "https://www.metatrader5.com/en/metaeditor/help/workspace/toolbox", "name": "Toolbox"}} ]}
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "MetaTrader 5: Toolbox", "acceptedAnswer": { "@type": "Answer", "text": "Toolbox is a multifunctional window. It shows the results of various actions performed in MetaEditor: compilation , search , profiling and..." } }] }
```
