Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Forge — KastelNew to Visual Studio Code? Get it now.
Forge — Kastel

Forge — Kastel

kastel

|
1 install
| (0) | Free
Support officiel de Kastel (.ks) dans VS Code : coloration syntaxique, snippets, LSP, exécution, REPL et Gate.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Forge — Kastel pour VS Code

Forge est l'extension officielle de VS Code pour le langage Kastel (fichiers .ks) : coloration syntaxique, snippets, serveur de langage, exécution en un clic et intégration de Gate.

Fonctionnalités

Édition

  • Coloration syntaxique complète : mots-clés (let, const, func, class, interface, enum, match, async, await, try/catch/finally…), chaînes "…" et '…', nombres (décimaux, hexadécimaux 0x, binaires 0b, exposants), intervalles .. et ..=, opérateurs, commentaires.
  • Types colorés : paramètres (name: int), types de retour (-> int), let x: T, catch (e: Err), alias type A = …, génériques <T: Add + Eq>, unions int | str, List<int>, records { x: int }.
  • Snippets (liste ci-dessous), parenthèses et guillemets automatiques, repli de code // region.

Serveur de langage (LSP)

Avec le serveur kastel-lsp (embarqué dans l'extension) :

  • diagnostics en temps réel
  • complétion (., :, <), y compris les membres de module (math. après import std.math;)
  • survol (types et signatures), aide à la signature (( et ,)
  • aller à la définition, trouver les références, renommer (avec validation préalable)
  • symboles du document et de l'espace de travail, mise en évidence des occurrences
  • formatage du document

Exécution

  • Exécuter le fichier : bouton ▶ de l'éditeur ou Ctrl+Alt+R (Cmd+Alt+R sur macOS) lance kastel <fichier>.
  • REPL Kastel dans un terminal intégré.
  • Gate : lance les sous-commandes de ton gestionnaire de projet depuis la palette de commandes.

Installation

Depuis le Marketplace : cherche Forge dans la vue Extensions, ou :

code --install-extension <publisher>.forge

Depuis un fichier .vsix : code --install-extension forge-<version>-<plateforme>.vsix.

L'extension est publiée par plateforme et embarque le serveur de langage :

Système Plateforme
Windows (Intel/AMD) win32-x64
Linux (Intel/AMD, ARM) linux-x64, linux-arm64
macOS (Intel, Apple Silicon) darwin-x64, darwin-arm64

Fonctionne aussi dans WSL, SSH et les conteneurs (l'extension s'exécute côté distant).

Prérequis

  • Le langage Kastel (commande kastel) dans le PATH, pour exécuter des fichiers et ouvrir le REPL.
  • Gate dans le PATH, pour la commande Forge: Commande Gate… (facultatif).
  • Coloration, snippets et serveur de langage fonctionnent sans ces deux outils.

Commandes

Commande Rôle
Forge: Exécuter le fichier Kastel Exécute le fichier .ks actif (Ctrl+Alt+R)
Forge: Ouvrir le REPL Kastel Ouvre le REPL dans un terminal
Forge: Commande Gate… Choisit et lance une sous-commande Gate
Forge: Redémarrer le serveur de langage Relance kastel-lsp
Forge: Afficher la sortie Journal du serveur et de la détection des chemins

Réglages

Réglage Défaut Rôle
forge.kastel.path kastel Exécutable Kastel
forge.gate.path gate Exécutable Gate
forge.gate.commands run, build, test, check Sous-commandes proposées par la commande Gate
forge.run.saveBeforeRun true Enregistre le fichier avant de l'exécuter
forge.run.clearTerminal false Efface le terminal avant chaque exécution
forge.server.enabled true Active le serveur de langage
forge.server.path (vide : auto) Exécutable du serveur ; accepte ${workspaceFolder}, ${env:NOM} et ~
forge.server.args [] Arguments passés au serveur
forge.std.path (vide : auto) Dossier std/ de Kastel (bibliothèque standard)
forge.trace.server off Trace des échanges client/serveur (off, messages, verbose)

Les chemins d'exécutables ne peuvent pas être modifiés par un espace de travail non approuvé.

Détection automatique

  • Serveur de langage : réglage forge.server.path, puis binaire embarqué, puis PATH, ~/.cargo/bin et enfin build local (target/release).
  • Bibliothèque standard : réglage forge.std.path, variable KASTEL_STD_PATH, std/ à côté de kastel, std/ embarquée, std/ de l'espace de travail.

Snippets

Tape le préfixe puis Tab.

Préfixe Insère
func, sfunc, afunc, efunc, main fonction, statique, async, exportée, point d'entrée
class, classi, init, interface, opadd classe, classe + interface, constructeur initialize, interface, opérateur Add
enum, type, typer énumération, alias de type, alias record
let, const variables typées
if, ifelse, while, for, forr conditions et boucles (for x in xs, for i in 0..10)
match, matchr, matchres pattern matching, sur Option, sur Result
try try / catch / finally
import, importf, from imports
list, set, dict, record, tuple, tuple1, emptyset, emptydict littéraux
letlist, letset, letdict, letrecord, lettuple littéraux avec déclaration typée
lambda, anon, ternary, new, newg, pr fonction fléchée, fonction anonyme, ternaire, instanciation, affichage

Dépannage

  • « Serveur de langage introuvable » : ouvre Forge: Afficher la sortie pour voir les emplacements testés, puis renseigne forge.server.path ou installe kastel-lsp dans le PATH.
  • import std.… non résolu : indique le dossier de la bibliothèque standard dans forge.std.path.
  • Rien ne s'exécute : vérifie que kastel est dans le PATH ou renseigne forge.kastel.path.

Compiler depuis les sources

npm install
node scripts/build-server.js --lsp "<dossier kastel-lsp>"
npx @vscode/vsce package --target <plateforme>

build-server.js compile le serveur avec cargo, l'embarque dans server/<plateforme>/ et copie la bibliothèque standard. Pour tester sans empaqueter : ouvre le dossier dans VS Code, lance npm install, puis F5. Un modèle de workflow GitHub (.github/workflows/release.yml) construit un paquet par plateforme.

Licence

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft