Intelligent Stimulus tooling for Visual Studio Code
Currently, this Language Server only works for HTML, though its utility extends to various file types such as ERB, PHP, or Blade files.
- Data Attributes
- Completions for controller identifiers
- Completions for controller actions
- Completions for controller targets
- Completions for controller values
- Completions for controller classes
- Missing controllers (
stimulus.controller.invalid) - Missing controller actions (
stimulus.action.invalid) - Missing controller targets (
stimulus.controller.target.missing) - Missing controller values (
stimulus.controller.value.missing) - Invalid action descriptors (
stimulus.action.invalid) - Data attributes format mismatches (
stimulus.attribute.mismatch) - Controller values type mismatches (
stimulus.controller.value.type_mismatch)
- Controller value definition default value type mismatch (
stimulus.controller.value_definition.default_value.type_mismatch) - Unknown value definition type (
stimulus.controller.value_definition.unknown_type) - Controller parsing errors (
stimulus.controller.parse_error) - Import from deprecated packages (
stimulus.package.deprecated.import)
- Create a controller with the given identifier (
stimulus.controller.create) - Update controller identifier with did you mean suggestion (
stimulus.controller.update) - Register a controller definition from your project or a NPM package (
stimulus.controller.register) - Update controller action name with did you mean suggestion (
stimulus.controller.action.update) - Implement a missing controller action on controller (
stimulus.controller.action.implement) - Create a default config file at
.stimulus-lsp/config.json(stimulus.config.create) - Ignore diagnostics for a HTML attribute by adding it to the
ignoredAttributesconfig (stimulus.config.attribute.ignore) - Ignore diagnostics for a Stimulus controller identifier by adding it to the
ignoredControllerIdentifiersconfig (stimulus.config.controller.ignore)
.
├── package.json // The extension manifest.
|
├── client // Language Client
│ └── src
│ └── extension.ts // Language Client entry point
|
└── server // Language Server
└── src
└── server.ts // Language Server entry point
- Run
yarn installin this folder. This installs all necessary npm modules in both the client and server folder - Open VS Code on this folder.
- Press Ctrl+Shift+B to compile the client and server.
- Switch to the Debug viewlet.
- Select
Launch Clientfrom the drop down. - Run the launch config.
- If you want to debug the server as well use the launch configuration
Attach to Server - In the [Extension Development Host] instance of VSCode, open a HTML file.
- Type
<div data-controller="|">, place your cursor where the|is, hit Ctrl+Space and you should see completions.
- Type