Skip to content

Instantly share code, notes, and snippets.

@MdSahil-oss
Last active April 11, 2024 12:08
Show Gist options
  • Save MdSahil-oss/5c9ab458a7832105f270265f86c87c17 to your computer and use it in GitHub Desktop.
Save MdSahil-oss/5c9ab458a7832105f270265f86c87c17 to your computer and use it in GitHub Desktop.

Unikraft VsCode IDE Extension

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.

Used Technologies:

  • TypeScript/JavaScript
  • Golang
  • VsCode Extension development

Link to the repository

LSP Server

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.

Features LSP Server provides:

  • 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.

LSP Server PR Link:

Link to Deployed Extension

Other PR links in kraftkit repository for IDE Extension implementation.

For preview and more information about this project please visit to the project repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment