Skip to content

Menus

See Also

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

File Format

FormatDescription
FormatJSON (with comments)
Extension.sublime-menu
NameOne out of the list of available menus. See Available Menus for the complete name list and what menu they represent.
LocationAny under Packages
ContentA list of Menu Item objects

Example

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

json
[
    {
        "caption": "Edit",
        "mnemonic": "E",
        "id": "edit",
        "children":
        [
            { "command": "undo", "mnemonic": "U" },
            { "command": "redo_or_repeat", "mnemonic": "R" },
            {
                "caption": "Undo Selection",
                "children":
                [
                    { "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.

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

args : 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.

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

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

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

id : 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.

platform : 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.