|
| 1 | +# Welcome to your Langium VS Code Extension |
| 2 | + |
| 3 | +## What's in the folder |
| 4 | + |
| 5 | +This folder contains all necessary files for your language extension. |
| 6 | + * `package.json` - the manifest file in which you declare your language support. |
| 7 | + * `language-configuration.json` - the language configuration used in the VS Code editor, defining the tokens that are used for comments and brackets. |
| 8 | + * `src/extension.ts` - the main code of the extension, which is responsible for launching a language server and client. |
| 9 | + * `src/language-server/firststep.langium` - the grammar definition of your language. |
| 10 | + * `src/language-server/main.ts` - the entry point of the language server process. |
| 11 | + * `src/language-server/firststep-module.ts` - the dependency injection module of your language implementation. Use this to register overridden and added services. |
| 12 | + * `src/language-server/firststep-validator.ts` - an example validator. You should change it to reflect the semantics of your language. |
| 13 | + * `src/cli/index.ts` - the entry point of the command line interface (CLI) of your language. |
| 14 | + * `src/cli/generator.ts` - the code generator used by the CLI to write output files from DSL documents. |
| 15 | + * `src/cli/cli-util.ts` - utility code for the CLI. |
| 16 | + |
| 17 | +## Get up and running straight away |
| 18 | + |
| 19 | + * Run `npm run langium:generate` to generate TypeScript code from the grammar definition. |
| 20 | + * Run `npm run build` to compile all TypeScript code. |
| 21 | + * Press `F5` to open a new window with your extension loaded. |
| 22 | + * Create a new file with a file name suffix matching your language. |
| 23 | + * Verify that syntax highlighting, validation, completion etc. are working as expected. |
| 24 | + * Run `./bin/cli` to see options for the CLI; `./bin/cli generate <file>` generates code for a given DSL file. |
| 25 | + |
| 26 | +## Make changes |
| 27 | + |
| 28 | + * Run `npm run watch` to have the TypeScript compiler run automatically after every change of the source files. |
| 29 | + * Run `npm run langium:watch` to have the Langium generator run automatically afer every change of the grammar declaration. |
| 30 | + * You can relaunch the extension from the debug toolbar after making changes to the files listed above. |
| 31 | + * You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. |
| 32 | + |
| 33 | +## Install your extension |
| 34 | + |
| 35 | +* To start using your extension with VS Code, copy it into the `<user home>/.vscode/extensions` folder and restart Code. |
| 36 | +* To share your extension with the world, read the [VS Code documentation](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) about publishing an extension. |
| 37 | + |
| 38 | +## To Go Further |
| 39 | + |
| 40 | +Documentation about the Langium framework is available at https://langium.org |
0 commit comments