See Also

Documentation on menus
Explains how menus work and what you can do with them.

# File Format

Format Description
Format JSON (with comments)
Extension .sublime-menu
Name One out of the list of available menus. See Available Menus for the complete name list and what menu they represent.
Location Any under Packages
Content A list of Menu Item objects

# Example

The following is an excerpt from the default Main.sublime-menu file.

        "caption": "Edit",
        "mnemonic": "E",
        "id": "edit",
            { "command": "undo", "mnemonic": "U" },
            { "command": "redo_or_repeat", "mnemonic": "R" },
                "caption": "Undo Selection",
                    { "command": "soft_undo" },
                    { "command": "soft_redo" }
            { "caption": "-", "id": "clipboard" },
            { "command": "copy", "mnemonic": "C" },
            { "command": "cut", "mnemonic": "t" },
            { "command": "paste", "mnemonic": "P" },
            { "command": "paste_and_indent", "mnemonic": "I" },
            { "command": "paste_from_history", "caption": "Paste from History" }

Menu items may have the following properties.

Unless you are referencing an existing item via ID, each menu item must define either children, command or caption.


Name of the command to be called when the menu item is selected.


Object of arguments to the command. For Side Bar and Side Bar Mount Point menus, this is extended by a files argument that contains all selected items in the sidebar as a list.


Text to be displayed in the menu. A single hyphen (-) turns the item into a Menu Separator.


List of Menu Item objects that are displayed when the item is hovered. Overrides existence of command property.


A single character used for menu accelerators. The character must be contained in the caption and is case-sensitive.


A unique string identifier for the menu item. This can be used to extend menu sections or sub-menu or to alter a menu item entirely.

Refer to the main documentation on how this works.


The platform name for which the menu entry should be made visible. Valid values are OSX, Linux & Windows. It also supports negation in the form !OSX which means to show the menu entry for all platforms except OSX.