# Monaco JSON JSON language plugin for the Monaco Editor. It provides the following features when editing JSON files: * Code completion, based on JSON schemas or by looking at similar objects in the same file * Hovers, based on JSON schemas * Validation: Syntax errors and schema validation * Formatting * Document Symbols * Syntax highlighting Schemas can be provided by configuration. See [here](https://github.com/Microsoft/monaco-json/blob/master/src/monaco.d.ts) for the API that the JSON plugin offers to configure the JSON language support. Internally the JSON plugin uses the [vscode-json-languageservice](https://github.com/Microsoft/vscode-json-languageservice) node module, providing the implementation of the functionally listed above. The same module is also used in [Visual Studio Code](https://github.com/Microsoft/vscode) to power the JSON editing experience. ## Installing This npm module is bundled and distributed in the [monaco-editor](https://www.npmjs.com/package/monaco-editor) npm module. ## Dev: cheat sheet * change to your favorite source folder (`/src/`) * run `git clone https://github.com/Microsoft/monaco-json` and change directory to `monaco-json` * initial setup with `npm install .` * compile with `npm run watch` * bundle with `npm run prepublish` ## Dev: Running monaco-json from source * change to your favorite source folder (`/src/`). Important: both monaco repositories must have the same parent folder. * `git clone https://github.com/Microsoft/monaco-json` (this will create `$/src/monaco-json`) * `git clone https://github.com/Microsoft/monaco-editor` (this will create `$/src/monaco-editor`) * in folder `monaco-json` run `npm run watch` * in folder `monaco-editor` run `npm run simpleserver` * open http://localhost:8080/monaco-editor/test/?monaco-json=dev ### [Optional] Running monaco-editor-core from source * this is only needed when you want to make changes also in `monaco-editor-core`. * change to the same favorite source folder (`/src/`) that already contains `monaco-json` and `monaco-editor` * `git clone https://github.com/Microsoft/vscode` (this will create `$/src/vscode/`) * read [here](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#installing-prerequisites) on how to initialize the VS code source repository. * in folder `vscode` run `gulp watch` * open http://localhost:8080/monaco-editor/test/?monaco-json=dev&editor=dev ## License [MIT](https://github.com/Microsoft/monaco-json/blob/master/LICENSE.md)