

Arcade Language Support / Support du langage Arcade
🇬🇧 English version
🇫🇷 Version française
Français
Un support complet pour le langage ArcGIS Arcade dans Visual Studio Code — conçu pour les développeurs SIG exigeants.
Sommaire
🆕 Nouveautés 1.2.0
- 🎯 Mise à jour vers Arcade 1.38 : prise en charge des fonctions
Product, Sign, Log(value, base), Count/GetKeys/GetValues pour Pixel et Voxel, Portal() sans argument, KnowledgeGraphByPortalItem, QueryGraph, nouveaux paramètres de GetEnvironment (activePortal, availablePortals), variable $editcontext.editTag et constante NaN.
- ✨ Autocomplétion dans les chaînes de type backtick (
`) : lorsque vous écrivez une chaîne entre backticks, l'extension propose automatiquement les variables globales ($feature, $datapoint, $layer…), les variables locales (var), les fonctions locales (function) et les fonctions du bundle Arcade. Il suffit de taper $ ou ${ dans la chaîne pour voir apparaître la liste filtrée, avec insertion propre sous la forme ${nomVariable} ou ${nomFonction()}.
- 🧭 Navigation vers la définition des variables et fonctions locales :
- F12 ou Ctrl+clic sur un nom saute à sa définition
- Alt+F12 affiche la définition en pré-visualisation sans quitter la ligne courante
- Les info-bulles des variables/fonctions locales affichent désormais un lien cliquable « Définie à la ligne N » qui saute à la définition. Sur la ligne même de la définition, le lien est remplacé par un simple « Définie ici ».
- 🧩 Info-bulles séparées sur les expressions à point (
$Feature.ccopre, monDict.cle…) : chaque partie reçoit son propre survol. Le survol du nom parent ($Feature, monDict) affiche sa documentation ; le survol du champ ou propriété (ccopre, cle) affiche un contexte « Attribut / Propriété de … ».
- 🎨 Coloration uniforme des parenthèses, accolades et crochets avec une couleur dédiée dans chaque thème, sans la coloration arc-en-ciel native de VS Code.
- 🔗 Rendu amélioré des liens de type dans les info-bulles : les types
Geometry | Feature, Array<Number>, etc. sont désormais affichés avec des espaces propres et des liens cliquables vers la documentation Esri.
Fonctionnalités
- 🎨 Coloration syntaxique avancée pour toutes les fonctions Arcade, opérateurs, mots-clés et structures de contrôle
- 🌗 Deux thèmes personnalisés :
Arcade Dark pour les environnements sombres
Arcade Light pour une lisibilité optimale en plein jour
- 📄 Reconnaissance des fichiers
.cal & .lxp
- 🔍 Pliage de code, auto-closing des délimiteurs, et configuration des commentaires
- 🛠️ Support complet des arguments restreints (unités de surface/longueur, méthodes géodésiques, formats GUID, jetons de date, etc.)
- ⚡ Optimisé pour les expressions Arcade dans ArcGIS Pro, ArcGIS Online et ArcGIS Enterprise
- ✨ Snippets pour les fonctions courantes
- 💡 Autocomplétion contextuelle dans les chaînes backticks
` : les variables et fonctions interpolables (${...}) sont proposées dès la frappe de $
- 📝 Signature help : affichage des paramètres attendus lors de la frappe d'un appel de fonction
- 🪄 Hover intelligent : documentation bilingue (FR/EN) au survol des fonctions, variables globales et constantes
- 🧭 Navigation vers la définition : F12, Ctrl+clic et Alt+F12 (Peek Definition) fonctionnent sur toutes les variables et fonctions locales
- 🧩 Info-bulles contextuelles sur les expressions à point (
$Feature.champ, objet.propriete) : chaque partie reçoit son propre survol
- 🔡 Police Monaco : intégration de la police Monaco pour une expérience d'écriture de code plus fluide et lisible
- 🆚 Compatible avec Arcade version 1.38
🧠 Pourquoi cette extension ?
Arcade est un langage puissant qui mérite un environnement moderne et adapté.
Cette extension offre une expérience fluide, esthétique et pensée pour les workflows SIG.
Que vous écriviez des expressions de symbologie, des filtres dynamiques ou des calculs géométriques, vous profitez d'un cadre clair et productif.
📁 Type de fichiers reconnus
.cal Formule Arcade de calcul de champ
.lxp Formule Arcade d'étiquette
🎨 Thèmes inclus
| Nom du thème |
Mode |
Couleurs inspirées de… |
| Arcade Dark |
Sombre |
ArcGIS Pro |
| Arcade Light |
Clair |
ArcGIS Pro |
⚙️ Commandes : arcade.enableAssoc, arcade.disableAssoc, arcade.installMonacoFont & arcade.openDoc
Ces commandes permettent de gérer automatiquement les associations de fichiers Arcade dans Windows.
arcade.enableAssoc : associe les fichiers portant les extensions .cal et .lxp à Visual Studio Code, afin qu'ils soient ouverts directement avec l'éditeur et reconnus comme du code Arcade.
arcade.disableAssoc : supprime ces associations et restaure le comportement par défaut de Windows.
arcade.installMonacoFont : ouvre une fenêtre pour l'installation de la police Monaco.
arcade.openDoc : ouvre la documentation officielle Esri Arcade dans le navigateur par défaut.
📌 Utilité
- Plus besoin de choisir manuellement VS Code à chaque ouverture de fichier Arcade.
- Les fichiers
.cal (calculs de champs) et .lxp (étiquettes) sont immédiatement liés à l'extension Arcade Language Support.
- Cela garantit que la coloration syntaxique, l'autocomplétion et les thèmes Arcade sont actifs dès l'ouverture.
- Vous gardez le contrôle : vous pouvez activer ou désactiver l'association à tout moment.
- Ouvrez la palette de commandes VS Code (
Ctrl+Shift+P ou F1).
- Tapez :
Arcade: Activer les extensions Arcade pour Windows
- ou
Arcade: Désactiver les extensions Arcade pour Windows
- Validez : les associations de fichiers sont configurées (ou supprimées) automatiquement dans le registre Windows.
- Vous pouvez aussi utiliser le bouton dans la barre d'état pour activer/désactiver rapidement l'association.
💡 Astuce — Interpolation dans les chaînes backticks
Dans une chaîne entre backticks, tapez simplement $ pour voir apparaître la liste des variables et fonctions disponibles. L'extension complète automatiquement sous la forme ${nomVariable} ou ${nomFonction()} sans que vous ayez à écrire les accolades.
Exemple :
var ville = "Paris";
var message = `Bienvenue à ${ville} !`;
🔒 Remarque
- Les commandes
enableAssoc, disableAssoc et installMonacoFont agissent uniquement sur Windows (elles utilisent des scripts PowerShell).
- Sur macOS et Linux, les fichiers Arcade sont reconnus par VS Code via l'extension, mais l'association système doit être faite manuellement.
English
A complete support for the ArcGIS Arcade language in Visual Studio Code — designed for demanding GIS developers.
Table of Contents
🆕 What's new in 1.2.0
- 🎯 Updated to Arcade 1.38: support for
Product, Sign, Log(value, base), Count/GetKeys/GetValues for Pixel and Voxel, parameterless Portal(), KnowledgeGraphByPortalItem, QueryGraph, new GetEnvironment parameters (activePortal, availablePortals), $editcontext.editTag variable and NaN constant.
- ✨ Autocompletion inside backtick strings (
`): when writing a string between backticks, the extension automatically suggests global variables ($feature, $datapoint, $layer…), local variables (var), local functions (function) and bundle functions. Just type $ or ${ inside the string to see the filtered list, with clean insertion as ${variableName} or ${functionName()}.
- 🧭 Go-to-definition for local variables and functions:
- F12 or Ctrl+click on a name jumps to its definition
- Alt+F12 shows the definition in a preview without leaving the current line
- Hover popups for local variables/functions now display a clickable link "Defined on line N" that jumps to the definition. On the definition line itself, the link is replaced by a simple "Defined here".
- 🧩 Separate hovers on dotted expressions (
$Feature.ccopre, myDict.key…): each part gets its own popup. Hovering the parent name ($Feature, myDict) shows its documentation; hovering the field or property (ccopre, key) shows a context popup "Attribute / Property of …".
- 🎨 Uniform coloring of parentheses, braces, and brackets with a dedicated color in each theme, without the native VS Code rainbow bracket colorization.
- 🔗 Improved type link rendering in tooltips: types like
Geometry | Feature, Array<Number>, etc. are now displayed with proper spacing and clickable links to the Esri documentation.
Features
- 🎨 Advanced syntax highlighting for all Arcade functions, operators, keywords, and control structures
- 🌗 Two custom themes:
Arcade Dark for dark environments
Arcade Light for optimal readability in daylight
- 📄 Recognition of
.cal & .lxp files
- 🔍 Code folding, auto-closing delimiters, and comment configuration
- 🛠️ Full support for restricted arguments (area/length units, geodetic methods, GUID formats, date tokens, etc.)
- ⚡ Optimized for Arcade expressions in ArcGIS Pro, ArcGIS Online and ArcGIS Enterprise
- ✨ Snippets for common functions
- 💡 Context-aware autocompletion inside backtick strings
`: interpolable variables and functions (${...}) are suggested as soon as you type $
- 📝 Signature help: parameter hints shown while typing a function call
- 🪄 Smart hover: bilingual (FR/EN) documentation on hover for functions, global variables, and constants
- 🧭 Go-to-definition: F12, Ctrl+click and Alt+F12 (Peek Definition) work on all local variables and functions
- 🧩 Context-aware tooltips on dotted expressions (
$Feature.field, object.property): each part gets its own hover
- 🔡 Monaco Font: integrated Monaco font support for a smoother and more readable coding experience
- 🆚 Compatible with Arcade version 1.38
🧠 Why this extension?
Arcade is a powerful language that deserves a modern, well‑integrated environment.
This extension provides a smooth, aesthetic experience tailored to GIS workflows.
Whether you are writing symbology expressions, dynamic filters, or geometric calculations, you benefit from a clear and productive workspace.
📁 Recognized file types
.cal Arcade formula for field calculation
.lxp Arcade formula for labeling
🎨 Included themes
| Theme name |
Mode |
Colors inspired by… |
| Arcade Dark |
Dark |
ArcGIS Pro |
| Arcade Light |
Light |
ArcGIS Pro |
⚙️ Commands: arcade.enableAssoc, arcade.disableAssoc, arcade.installMonacoFont & arcade.openDoc
These commands automatically manage Arcade file associations in Windows.
arcade.enableAssoc: associates files with the .cal and .lxp extensions to Visual Studio Code, so they open directly in the editor and are recognized as Arcade code.
arcade.disableAssoc: removes these associations and restores Windows default behavior.
arcade.installMonacoFont: opens a window for Monaco font installation.
arcade.openDoc: opens the official Esri Arcade documentation in the default browser.
📌 Purpose
- No need to manually choose VS Code every time you open an Arcade file.
.cal files (field calculations) and .lxp files (labels) are immediately linked to the Arcade Language Support extension.
- This ensures that syntax highlighting, autocomplete, and Arcade themes are active as soon as the file is opened.
- You stay in control: enable or disable the association at any time.
🚀 How to use
- Open the VS Code Command Palette (
Ctrl+Shift+P or F1).
- Type:
Arcade: Enable Arcade extensions for Windows
- or
Arcade: Disable Arcade extensions for Windows
- Confirm: file associations are automatically configured (or removed) in the Windows registry.
- You can also use the status bar button to quickly enable/disable the association.
💡 Tip — Interpolation inside backtick strings
Inside a backtick string, simply type $ to see the list of available variables and functions. The extension automatically completes to ${variableName} or ${functionName()} without you having to type the braces.
Example:
var city = "Paris";
var message = `Welcome to ${city}!`;
🔒 Note
- The
enableAssoc, disableAssoc and installMonacoFont commands only work on Windows (they rely on PowerShell scripts).
- On macOS and Linux, Arcade files are recognized by VS Code through the extension, but system‑level file associations must be set manually.
| |