Smithy for VS Code
This package is a Visual Studio Code extension to recognize and highlight the
Smithy interface definition language (IDL). It can also be used as a TextMate
bundle in TextMate and IntelliJ using a third-party plugin.
Features
This extension provides basic syntax highlighting of ".smithy" files.
Additionally, it provides Snippets.
Installation
This extension can be installed from the
VS Code Extension Marketplace.
To install from source, follow these steps:
- Clone the repository:
git clone https://github.com/awslabs/smithy-vscode.git && cd smithy-vscode
- Run npm commands to install:
npm install && npm run install-plugin
Authoring a model
If your model requires dependencies, add a smithy-build.json
file to the root of your project, specifying Maven dependencies, along with the
repositories where they can be located.
{
"version": "1.0",
"maven": {
"dependencies": ["software.amazon.smithy:smithy-aws-traits:1.40.0"],
"repositories": [{ "url": "https://repo1.maven.org/maven2/" }]
}
}
Start authoring your Smithy model. Opening a *.smithy
file will activate
the extension.
Use with any Maven private registry
Follow these instructions to set the credentials file for your Maven private registry. Here is an example for a Maven registry provided by GitHub:
github.username=<ANY_USERNAME>
github.password=<YOUR_GITHUB_TOKEN>
github.host=maven.pkg.github.com
Use with IntelliJ
You can use this extension for syntax highlighting in IntelliJ by installing the
"TextMate bundle support" plugin and registering this repository as a bundle.
See the IntelliJ documentation
for more details.
Release Notes
0.6.1 - 2024-09-09
- Updated smithy-language-server version to 0.4.1 #94
0.6.0 - 2024-08-02
- Updated smithy-language-server version to 0.4.0 #89
- Removed configuration for .smithy.lsp.log file #89
- Added configuration option for model validation minimum severity #89
- Added configuration option for only reloading the model on save #89
0.5.4 - 2023-11-09
- Added configuration for LspLog file. #82
- Added
smithy-build.json
JSON Schema. #76
- Fixed grammar for
apply
statement. #76
0.5.3 - 2023-03-17
- Added model formatting via Smithy Language Server 0.2.3. #67
0.5.2 - 2022-12-27
0.5.1 - 2022-09-29
- Updated to use Smithy Language Server 0.2.1.
- Stopped switching focus to VSCode's output window when the extension receives a message. #55
- Allowed setting the root path to be used by the extension. #54
- Updated tests to use version 1.25.0 for Smithy packages. #56
0.5.0 - 2022-08-29
0.4.0 - 2022-06-13
- Updated to work with Smithy 2.0 syntax.
- Used Smithy Language Server for language features including:
auto-completion, jump to definition, model validations as diagnostics. #32
- Added
Smithy:Selector:Run
and Smithy:Selector:Clear
commands for highlighting the results of running an
expression on the model in a workspace. #33
0.3.0 - 2020-09-19
- Updated to work with Smithy 1.0 syntax.
0.2.0 - 2019-06-26
- Add support for use statements.
- Add support for documentation comments.
0.1.0
Initial release for Smithy IDL syntax highlighting.