The VS Code Extension for Unikraft enables developers to quickly and painlessly build unikernels from the VS Code IDE. In this project, I developed the VS Code extension to use KraftKit
under the hood to build & run unikernels (Micro-VMs), The newly released CLI companion tool for Unikraft, written in Go as well as created a few commands for Kraftkit CLI.
- TypeScript/JavaScript
- Golang
- VsCode Extension development
An Language Server Protocol (LSP) defines the protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references etc.
So I developed an LSP server that integrates with the Unikraft IDE Extension to provide more features like auto-complete, Hovering, Find all the refrences etc to ease & enhancing usage & building experience of unikernels development using the tool Kraftkit
.
- Kraftfile Validation: Kraftfile is validated on every opening & on every change.
- Kraftfile Text Hovering: On hovering text in a Kraftfile relevant information/documentation of the terminology like
unikraft
&specification
will be displayed to the user. - Kraftfile Text Auto Completion: When writing text in Kraftfile a list of characters matching texts with the relevant documentation will be displayes to the user to auto-complete the text.
- C files Validation: LSP can validate if a header file is included once or more in .c files.
- Refrencing header files: LSP can also help in refrence header files (present at .unikraft/unikraft/[...]/include or .unikraft/libs/[...]/include) in .c files.
Other PR links in kraftkit repository for IDE Extension implementation.
- Configurable output format
- Added a subcommand
show
for commandkraft pkg
- Adds
kraft lib create
support - Add new subcommand
kraft pkg add
- Add new subcommand
kraft pkg rm
- Add subcommand
prune
for the commandkraft pkg
For preview and more information about this project please visit to the project repository.