# MakeCode editor features

The MakeCode editor window has many features to help you create, download, and save your coding projects.

## Creating blocks and code

### Blocks Toolbox

The blocks you use in your project are found in the **Toolbox**. The Toolbox is a sidebar list of block categories for different code functions and operations. To get a block from the toolbox, you select a block category and a block shelf opens showing you the available blocks. You grab a block from the shelf and pull it onto the block workspace. There's also a search control to help you find the blocks your interested in.

#### #blocks-images

### JavaScript editor

The JavaScript editor is a fully functional text editor that's code aware. This means that it can help complete functions and statements for you by providing hints and text completion. A detailed description of the JavaScript editor features is here:  https://makecode.com/js/editor.

#### #jseditor-images

## Editor controls

### Home

The **Home** button takes you to the [Home Screen](@homeurl@) which shows recent projects and other activities.

#### #home-images

### Share #share

The **Share** button displays the **Share Project** window which lets you publish your project to the public cloud.

#### #share-images

### Blocks or JavaScript #blocksjs

To switch the your code view from **Blocks** to **JavaScript**, or back again, press one of the view buttons at the top and center of the window.

#### #blocksjs-images

### Help #help

The **Help** button shows a menu of help options that take you to support or reference pages.

#### #help-images

### More #moresettings

The **More** button gives a menu of project settings and options.

#### #moresettings-images

### Undo and Redo #undoredo

You can undo and redo recent changes you make either in **Blocks** or **JavaScript** with the **Undo** and **Redo** buttons in the bottom right of the editor window.

#### #undoredo-images

### Zoom In and Zoom Out #zoom

There are two zoom buttons in the lower right part of the editor view. The **(+)** button is to zoom in and the **(-)** button is to zoom out. The zoom buttons change the size of the blocks when you're in the **Blocks** view. When you're working with the code in the **JavaScript** view, the zoom buttons change the size of the text.

#### #zoom-images

### Save Project #saveproject

You can choose a name for your project and save it. Type in a name for the project and press the **disk icon** to save.

#### #saveproject-images

### Download #download

The **Download** button will copy your program to a drive on your computer. You can copy your program directly to your @boardname@ if it's connected and a drive for it shows up on your computer.

#### ~ hint

**Project name and download filename**

When you download the program for your project, the name you gave the project becomes part of the download file. If you decide to rename the download file, the name you chose for the project, not the current filename, is used and displayed by the editor.

#### ~

#### #download-images

### Explorer #explorer

All of the files in your project are viewed in the Explorer. Click on the **Explorer** button to expand the Explorer view to see all of the files in the project. Also, in addition to your project files, the Explorer will show all of files used to code all of the blocks in the editor. When you click and select a file, it will open in the editor for you to see and to edit if you want.

#### #explorer-images
