Skip to content

CKSP Tools

CKSP Tools

To make working with cksp easier and more efficient, I have developed an extension for Visual Studio Code. This extension provides various IDE features designed to streamline development with cksp, as well as Kontakt scripts in general. It comes bundled with the compiler, makes managing different versions simple, and provides output and filtering of KSP messages directly within the editor.

  • How to Install


    The extension can be downloaded from the Microsoft Marketplace directly within Visual Studio Code by searching for "CKSP Tools" in the Extensions view. Alternatively, it can be installed manually by downloading the .vsix file from the Releases section of the public cksp-tools-issues repository. Installation Instructions

Language and Editor Features

The main features entail the language support for .cksp and .ksp files. This is still work in progress, but the features already implemented include:

  • Syntax Highlighting


    Supports constructs from both cksp and vanilla KSP syntax, providing rich token coloring and improved readability.

  • Signature Help


    Shows function signatures and expected arguments in real time while typing or hovering over function calls.

  • Hover Provider


    Displays documentation for built-in constants, commands, and your own function definitions directly inside the editor.

  • Definition Provider


    Jump directly to function, macro, or define definitions with Cmd+Left Button or the context menu.

  • Reference Provider


    Find all references to a function or macro from its definition, enabling fast code tracing and refactoring.

  • Document Symbols


    Navigate within a file using document symbols (e.g. functions, variables, macros or defines) via Cmd+Shift+O or the Outline panel.

  • Workspace Symbols


    Search for symbols across your entire workspace using Cmd+T for instant project-wide lookup.

  • Completion Provider


    Offers name completions for variables, functions, macros, defines and KSP built-in commands or constants in real-time.

CKSP Signature Help

Compiler Integration

The CKSP Tools extension comes bundled with the cksp compiler, allowing you to compile your scripts directly from within Visual Studio Code. Moreover, the extension allows you to download and manage multiple versions of the cksp compiler, enabling you to switch between different versions as needed.

  • Compiling


    Press Cmd+R to compile the currently open file. You can also select a main file in your workspace to compile with Cmd+Shift+R.

  • Compiler Management


    Browse, download, and manage different compiler versions directly in the sidebar (via the Kontakt logo). The extension automatically notifies you when a new version is available.

Compiler Management

The CKSP Release Panel offers an overview of all available versions of the cksp compiler. Here, you can download, delete or reinstall specific versions locally, manage pre-release versions and read through the changelogs. You can open the panel by following these steps:

  1. Click on the Kontakt logo in the sidebar (usually on the left side of the VS Code window). The CKSP Settings panel will open, where you can adjust your main file that will be used for compilation, as well as your current compiler version.

  2. Click on the icon to the right of the Compiler Version dropdown. This will open the CKSP Release Panel, where you can see all available versions of the cksp compiler.

Alpha Versions

By default, pre-release (alpha) versions are hidden. However, they get released more frequently and may include new features and hot fixes that are not yet available in the stable releases. You can enable the display of alpha versions and their changelogs by toggling the Show Pre-Releases option at the top of the panel. Once activated, the extension will remember your preference and automatically notify you of new alpha releases in the future.

Kontakt Integration

VS Code also provides the option to launch Kontakt and read its output directly from the editor, eliminating the need to switch between applications. With CKSP Tools, you can open Kontakt directly from the sidebar, where the extension automatically detects the latest version or allows you to select a specific one in the settings. The dedicated window for Kontakt’s log output makes it easier to debug, filter, and monitor your scripts, offering keyword and type-based filtering without relying on Creator Tools. Additionally, when executing scripts through the Lua API, the output is displayed in the separate Kontakt Lua console within the bottom panel of VS Code.

CKSP Kontakt Integration