Skip to content
On this page

Snippets

General

Snippets allow bridge. users to quickly insert a large code snippets into their currently active editor. The snippet API is designed in a way that makes snippets work automatically for all file types, including .mcfunction, .molang .js, .ts and .json files in both the text editor and tree editor bridge. v2 provides.

Extension Integration

Extensions can add new snippets by providing them inside a <EXTENSION NAME>/snippets folder. Create a JSON file per snippet you want to add. The individual file names don't matter.

Format

NameTypeDescription
nameStringName of your snippet
descriptionStringA description of your snippet. Used inside of the completion item menu
fileTypesString[]File types your snippet is compatible with, for a full list see our file type documentation
locationsString[]Locations inside of a JSON file where the snippet can be inserted, e.g. "minecraft:entity/components" or "minecraft:entity/component_groups/*"
targetFormatVersionITargetFormatVersionDescribe the range of format versions that is required for your snippet to work
dataString | Object | String[]Data to insert when the user chooses to apply your snippet, this data can be an object for json files and a string or an array of strings which are joined with a new line (\n) to be inserted into a text file

ITargetFormatVersion

interface ITargetFormatVersion {
	// The minimum format version your snippet requires
	min: string
	// The maximum format version your snippet requires
	max: string
}

Examples

{
	"name": "My First Snippet",
	"description": "This is the first snippet I have ever created",
	"fileTypes": ["entity"],
	"locations": ["minecraft:entity/events"],
	"data": {
		"New Event": {
			"add": {
				"component_groups": []
			},
			"remove": {
				"component_groups": []
			}
		}
	}
}
{
	"name": "Hello World",
	"description": "Displays 'Hello World'",
	"fileTypes": ["function"],
	"data": "say Hello World"
}
{
	"name": "Numbers",
	"description": "Displays values 1-5",
	"fileTypes": ["function"],
	"data": ["say 1", "say 2", "say 3", "say 4", "say 5"]
}

Released under the GPL-3.0 License.