Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Clarion ExtensionsNew to Visual Studio Code? Get it now.
Clarion Extensions

Clarion Extensions

Mark Sarson

|
1,798 installs
| (4) | Free
Extension for Clarion Language
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Clarion Extension for Visual Studio Code

Marketplace version Marketplace installs

Clarion language support for Visual Studio Code: navigation, hover, IntelliSense, diagnostics, refactoring and builds, backed by a language server that understands whole solutions. Built and measured against real generated applications, 40 projects and 3,000 source files at a time, so the things a Clarion IDE user expects to work on a generated app, ABC or Legacy templates alike, work here too.

Hover on a FILE label: Orders is a global FILE structure with DRIVER TOPSPEED, PRE ORD, CREATE, THREAD, 1 key and 3 fields, declared at viewjoin.clw line 16

  • Quick start — five minutes to your first solution
  • Common tasks — how do I…
  • Changelog — what changed in each release
  • Issues — bugs and requests

Features

Navigation and hover

Works in the current file with no solution open; opens out across files when a solution is loaded.

  • F12, Ctrl+F12 and Shift+F12 for definition, implementation and references, aware of scope, overloads, routines, PRE:Field and Structure.Field access, and the procedure names an EXE shares with its DLLs.
  • Hover cards that say what a thing is: a FILE with its driver, prefix and keys; a MAP prototype labelled Global, Module or Private; a structure field the same from its declaration or any qualified use.
  • Reference counts above every procedure, method, class and routine, exact once the index is warm.
  • Rename across the workspace, document highlight, workspace symbol search, and chained access such as SELF.Order.RangeList.Init resolved through CLASS, QUEUE and GROUP types.
  • Call hierarchy (Shift+Alt+H) for procedures, methods and routines, in both directions.
  • Hover on a keyword that only makes sense in context: an END or a period says which structure it closes and links back to it; ELSE, ELSIF, OF and OROF say which IF or CASE they belong to.
  • In a solution with several projects, a name is resolved through the redirection of the project that compiles the file you are in.
  • Navigation in detail

IntelliSense and signature help

  • Member completion after SELF., PARENT., MyVar. or ClassName., walking inheritance and honouring PRIVATE and PROTECTED.
  • Parameter hints for 272 built-in functions and for class methods, with the overload narrowed by the argument types as you type.
  • Documented completions and hover for PROP:, PROPPRINT: and EVENT: equates, and for ? field equates scoped to the current window.
  • Signature help in detail

Diagnostics

Reported as you type, following the compiler's rules; where the rule was unclear it was settled by compiling a fixture.

A PROJECT of a misspelled field is flagged: Customer.Naem is not a field on FILE Customer

  • Unterminated structures, missing RETURN, FILE validation, VIEW field references checked against the owning file.
  • Missing INCLUDE and missing project DefineConstants, each with a quick fix that adds the line.
  • Discarded return values, a literal passed by reference, a call to a PRIVATE procedure from another module, undeclared variables, missing implementations and indistinguishable overloads.
  • Character-set validation that respects every Windows ANSI code page and the Clarion 12 !UTF8 directive.
  • Every check has its own setting and its own severity, with one switch for all of them; changes take effect as you make them.
  • Opt-in: a call to a procedure that no MAP, MODULE, include or indexed file declares.
  • Diagnostics in detail

Refactoring and quick fixes

On Ctrl+.: Surround With, Negate Condition, Flip IF/ELSE, Introduce EQUATE, and Create routine from an unresolved DO. Code editing in detail

The Quick Fix menu on an unresolved DO offering Create routine

Solutions and builds

  • Open a folder; the extension finds the .sln, reads the projects, and follows Clarion's redirection files exactly as the IDE does, including per-configuration sections.
  • Installed Clarion versions are discovered from the IDE's settings; a ClarionProperties.xml kept anywhere else can be chosen, and the build follows it.
  • Build from the Solution View with live output, projects ordered by dependency, and each build states what it is building, in which configuration, and the MSBuild command line. A solution that loads in a degraded state says so instead of silently returning nothing.
  • The Clarion version is remembered per solution and can be changed while it is loaded: the editor and the build follow the new install at once, without a reload. A version the properties file no longer registers is reported rather than used.
  • Settings are read and written in one place, so a pick sticks in a multi-root workspace; settings an earlier version wrote into a folder, which override the .code-workspace file, are reported with an offer to remove them.
  • Solution management in detail
The Clarion Tools side bar: Actions with the selected Clarion version and configuration, the Solution View with the loaded solution and its project, and the Structure view of the open file

Editing and syntax

Syntax highlighting for Clarion and the template language, including the Clarion 12 Unicode preview; folding; 99 snippets; Paste as Clarion String; Add Method Implementation; a New Class wizard; a document formatter. Template files get highlighting only. Snippet reference

Performance

Indexes persist across sessions and background work is time-sliced, so a 40-project solution is ready in about two seconds and interactive in about five, and typing, hover and navigation are never blocked. Reading a source file is about three times faster than in 1.0.3, and background checking stops as soon as you type rather than finishing work your edit has already replaced. Opt-in tracing (clarion.log.performance.enabled) produces a full timeline for support, and clarion.log.level captures a diagnostic log for a bug report.


Requirements and installation

  • Windows. The extension drives Clarion's own toolchain and does not run on macOS or Linux.
  • Visual Studio Code 1.97 or later.
  • Clarion 10, 11 or the 12 beta, for solution features and builds; editing and single-file navigation work without one.

Install from the Marketplace: open Extensions (Ctrl+Shift+X), search for Clarion Extensions, and install. Detailed installation instructions.


What's new

1.0.9 (2026-10-24)

Hover cards that edit declarations, and solutions with their own versions and redirection layouts.

  • Hovering a control, a WINDOW, APPLICATION or REPORT header, or a FILE, KEY, INDEX, MEMO or BLOB declaration lists the attributes it sets, offers the ones it accepts, and adds or removes one with a click; completion after a comma offers only those attributes, and one the compiler rejects is flagged.
  • Hovering IF, LOOP, CASE, EXECUTE, BEGIN or ACCEPT shows what closes it, and warns when its END lines up with an enclosing block.
  • Custom-named Clarion versions, redirection files named by full path, quoted paths and masks such as ab*.inc all resolve, and a solution opened from another folder, or whose settings can't be saved, still opens.
  • Fixes for hover and Go to Definition on SELF.InterfaceName, member chains, ITEMIZE equates and prototypes in library includes, and for false discarded-return and indistinguishable-overload warnings.

Earlier: 1.0.8 (2026-10-04) made diagnostics after an edit about three times quicker on large modules and let hover, completion and Go to Definition run ahead of the background check; 1.0.7 (2026-10-03) fixed the extension reading a module wrongly after some edits and made the hover after an edit much quicker on large modules. Full changelog.


Documentation

  • Guides: Quick start, Common tasks, Installation
  • Features: Navigation, Signature help, Solution management, Diagnostics, Code editing
  • Reference: Commands, Settings, Snippets, Clarion language reference (wiki)

Support and feedback

  • GitHub Issues for bugs and requests
  • Discussions for questions and tips

License

MIT License

Acknowledgments

  • fushnisoft for the original Clarion syntax highlighting
  • The Clarion community for feedback and testing

Contributors

All Contributors

Thanks to everyone who has helped improve the Clarion Language Extension through code, bug reports, testing, ideas, documentation and their knowledge of the Clarion language.

geircodes
geircodes

💻 🐛 🤔
Edin Čahtarević
Edin Čahtarević

🐛 🤔 📓
ClarionLive
ClarionLive

🐛 🤔 📓 💻
Allen Zhu
Allen Zhu

💻
Brahn Partridge
Brahn Partridge

💻
Mark Goldberg
Mark Goldberg

🐛
Carlos Gutierrez
Carlos Gutierrez

🐛
Dylan Vos
Dylan Vos

🐛
krosoftware
krosoftware

🐛
jslarveEC
jslarveEC

🐛
Nardus
Nardus

📖
Mike Hanson
Mike Hanson

🤔
William Atchison
William Atchison

🐛 🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

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