---
title: Widgets - application options
---

### File menu - reference

- **New empty file**: Adds a new, untyped, file to the source editor.
- **New runnable module**: adds a new file with a `main()` function. See [runnables modules](features_runnables).
- **New DUB script**: adds a new file with a `main()` function and an inline DUB description. The file can be executed as a script with **Run DUB single file package** or **Run DUB single file package outside**.
- **Open file...**: Proposes to open a D source file from an open dialog.
- **Open recent**: Displays the list of the most recently opened files.
- **Close file**: Closes the current editor with an optional warning if its content is modified.
- **Close all the files**: Closes the current editors.
- **Close all the other files**: Closes the current editors expected the one that has the focus.
- **Save file**: Saves the current editor to the disk.
- **Save all**: Saves all the files currently opened.
- **Save file as...**: Proposes to save the current editor from a save dialog.
- **Export html...**: Exports the current editor to a html file with html-based highlighting.
- **Add file to project**: Adds the file matching to the current editor to the current project (CE format only).
- **Compile file**: Compiles the current file. See [runnables modules](features_runnables).
- **Compile file and run**: Compiles the current file and executes it. See [runnables modules](features_runnables).
- **Compile file and run outside**: Compiles the current file and executes without redirection. See [runnables modules](features_runnables).
- **Compile file and run...**: Compiles the current file and execute with a set of options defined in a simple input-query dialog. The arguments must be separated with spaces and can include double quotes.
- **Run compiled file**: Executes the binary produced by a previous call to **Compile file**.
- **Run compiled file outside**: Executes in a console the binary produced by a previous call to **Compile file**.
- **Run file unittests**: Compiles and runs the current file with the options **-unittest**. If the application option **coverModuleTests** is set then CE will also pass **-cov** to the compiler and reports the lines of code that are not covered by the unit tests in the messages.
- **Set runnable switches**: Allows to modify the switches passed to DMD when compiling a runnable module. One switch by line, invalid, reserved or duplicated switches are removed, for example **-main** and **-unittest** are reserved.
- **Run DUB single file package**: Compiles and execute a DUB script.
- **Run DUB single file package outside**: Compiles and execute a DUB script in a console.
- **Verify with Dscanner**: verifies the current source with [Dscanner](https://github.com/Hackerpilot/Dscanner). Results are displayed in the [messages](widgets_messages).
- **View Halstead metrics**: Checks the halstead metrics in the source that has the focus and reports abnormal functions in the [messages](widgets_messages). [Description of the metric](options_code_metrics).
- **View in mini explorer**: expands the [mini explorer](widgets_mini_explorer) tree on the folder that contains the current file.