# Run

## Overview

This menu provides options for running and debugging applications within the Servoy development environment. Users can launch different types of clients and toggle various types of breakpoints for debugging purposes. The menu also offers access to external tools, configurations, and the ability to organize favorites for quick access.

## Commands Summary

A summary of commands available via clicking on this menu item:

| Command                                               | Summary                                              |
| ----------------------------------------------------- | ---------------------------------------------------- |
| [Launch NGClient](#launch-ngclient)                   | Launches the active solution in the NGClient         |
| [Launch NGDesktop Client](#launch-ngdesktop-client)   | Launches the active solution in the NGDesktop Client |
| [Toggle Breakpoint](#toggle-breakpoint)               | Adds or removes a breakpoint at the current line     |
| [Toggle Line Breakpoint](#toggle-line-breakpoint)     | Toggles a line breakpoint at the cursor position     |
| [Toggle Watchpoint](#toggle-watchpoint)               | Toggles a watchpoint for a variable                  |
| [Toggle Method Breakpoint](#toggle-method-breakpoint) | Toggles a breakpoint at the method level             |
| [Skip All Breakpoints](#skip-all-breakpoints)         | Skips all breakpoints at runtime                     |
| [Remove All Breakpoints](#remove-all-breakpoints)     | Removes all breakpoints in the project               |
| [External Tools](#external-tools)                     | Provides options for external tools configurations   |

## Commands Details

The details for each command available via clicking on this menu item:

### Launch NGClient

keybinding: `Ctrl+Shift+G`\
Launches the active solution in the NGClient. This command starts the application in the NGClient environment, allowing you to test and verify its behavior.

### Launch NGDesktop Client

Launches the active solution in the NGDesktop Client, enabling you to run and test your application in a desktop environment. This command is useful for checking the application's functionality and performance on desktop clients.

***

{% hint style="warning" %}
Note\
Some launcher options are disabled based on active solution type ([solutionType](https://docs.servoy.com/servoycore/object-model/solution#solutiontype) property of the [Solution](https://docs.servoy.com/servoycore/object-model/solution#solution) - in Properties View)
{% endhint %}

***

### Toggle Breakpoint

Adds or removes a breakpoint at the current line in the code editor. Breakpoints are used to pause the execution of the application at a specific point, allowing you to inspect the state of the application and debug issues.

### Toggle Line Breakpoint

Toggles a line breakpoint at the current cursor position. This command is similar to Toggle Breakpoint but specifically for line breakpoints, making it easy to set or remove breakpoints on individual lines of code.

### Toggle Watchpoint

Toggles a watchpoint for a variable, allowing you to monitor changes to the variable's value during execution. Watchpoints are useful for tracking the behavior of specific variables and identifying unexpected changes.

### Toggle Method Breakpoint

Toggles a breakpoint at the method level, pausing execution when the specified method is entered. This command is useful for debugging issues related to specific methods in your code.

### Skip All Breakpoints

keybinding: `Ctrl+Alt+B`\
Disables all breakpoints temporarily without removing them. This command allows you to run the application without interruption from breakpoints, which can be useful for testing overall behavior without debugging interruptions.

### Remove All Breakpoints

Removes all breakpoints in the project. This command is useful for cleaning up the code when you are done debugging or when you want to start a new debugging session with a fresh set of breakpoints.

{% hint style="warning" %}
Caution\
Breakpoints in all open editors will be deleted.
{% endhint %}

### External Tools

Opens a sub-list of available external tools commands:

* **Run As**: shows applicable options
* **External Tools Configurations...**: opens the [External Tools Configurations](https://docs.servoy.com/reference/servoy-developer/object-editors/external-tools-configurations) wizard
* **Organize Favorites**: opens a window where the user can sort external tools by preference

It also shows the launch history, if there is any.
