Professional Clarion language support for Visual Studio Code with intelligent code navigation, IntelliSense, and build integration.
- 5-Minute Quick Start - Get up and running fast
- Common Tasks - Everyday workflows made easy
- Installation Guide - Detailed setup instructions
- Full Changelog - See what's new
- Report Issues - Found a bug?
Full language support for Clarion code, basic support for templates.
- Clarion files (.clw, .inc) - Complete syntax highlighting and IntelliSense
- Template files (.tpl, .tpw) - Syntax highlighting with 100+ template keywords
- Code folding for structures and template blocks
- Context-aware coloring for Clarion code
- Note: Template files have syntax highlighting only (no IntelliSense/navigation)
- Learn more about Code Editing β
Get instant parameter hints and documentation - works immediately, no solution needed!
- 310 built-in functions with parameter hints and descriptions
- Method overload support β overloads narrowed by argument type (e.g.
OPEN(Window)shows only WINDOW signatures) - Hover documentation for all symbols β procedures, classes, variables, attributes, built-ins
- Context-aware hover β
HIDE,DISABLE,TYPEshow attribute or statement usage depending on context - Hover for PROP:/PROPPRINT: runtime properties β descriptions from Clarion 11.1 docs
- Hover for EVENT: equates β category, description, and usage example
- Signature help for class methods including inherited members
- Learn more about Signature Help β
Type SELF. or MyVar. for context-aware member suggestions. Type PROP:, PROPPRINT:, or EVENT: for documented equate completions.
- Resolves
SELF.,PARENT.,MyVar., orClassName.to the correct class - Full inheritance walk β shows methods and properties from parent classes
- Access control aware β
PRIVATE/PROTECTED/PUBLICscoping enforced - Each overload shown as a distinct entry with parameter signatures
- Chained expressions (
SELF.Order.) resolve intermediate types - PROP:/PROPPRINT: completions with description and read-only badge
- EVENT: completions with category label (Field-Specific / Field-Independent / DDE)
- Learn more about Navigation β
Write code faster with 50+ smart snippets - works immediately!
- Structure templates (IF, LOOP, CASE, etc.)
- Variable declaration shortcuts
- Procedure and method templates
- Learn more about Snippets β
Open any Clarion solution - just open the folder.
- Auto-detects
.slnfiles in folder - Recent solutions list for quick access
- No workspace files needed
- Learn more about Solution Management β
Jump to definitions, find implementations, and explore references β works in same file immediately, cross-file with solution.
- Press F12 to go to definition (same file: no solution needed!)
- Press Ctrl+F12 to go to implementation
- Press Shift+F12 for Find All References β scope-aware across all project files
- Press F2 to Rename Symbol β renames across the entire workspace in one step
- Document Highlight β pressing on a symbol highlights all occurrences in the current file
- Workspace Symbol Search (
Ctrl+T) β search for any procedure, class, or label across all solution files - Hover for documentation β declaration location, class/interface context, type info
- Chained navigation:
SELF.Order.RangeList.Initβ hover, F12, Ctrl+F12, and references resolve through CLASS, QUEUE, and GROUP type chains - SELF/PARENT properties: F12 on
SELF.Listnavigates to the class member declaration - Typed variable members: F12/Ctrl+F12/hover on
obj.Method()whereobjis any typed variable - INTERFACE support: hover, F12, Ctrl+F12, and references for interface methods, IMPLEMENTS(), and 3-part
Class.Interface.Methodimplementations - CLASS type names: F12 and Find All References work on type names in parameter and variable declarations
- Cross-file navigation requires solution
- Learn more about Navigation β
Generate applications directly from VS Code.
- Right-click to build from Solution View
- Multiple build configurations (Debug/Release) β active config auto-detected from
.sln.cache - Projects sorted by build order (dependency-first) in Solution View
- Live build output
- Learn more about Building β
Catch errors as you type.
- Unterminated structures β including window sub-structures (
WINDOW,SHEET,TAB,OLE,MENU, etc.) - Missing RETURN statements
- FILE validation (DRIVER, RECORD)
- Missing INCLUDE β warns when a variable's class type is defined in an
.incnot included in the file; code action inserts theINCLUDEautomatically - Missing DefineConstants β warns when a class's required
Link()/DLL()constants are absent from the.cwproj; code action adds them with a QuickPick for static vs DLL mode - Learn more about Diagnostics β
Productivity features to write code faster.
- 50+ code snippets
- Paste as Clarion String
- Add Method Implementation
- Create New Class wizard
- Learn more about Code Editing β
- Visual Studio Code (latest version)
- Clarion (for build features)
- Open VS Code
- Press
Ctrl+Shift+X - Search for "Clarion Extensions"
- Click Install
Detailed installation instructions β
- Quick Start Guide - 5 minutes to your first solution
- Common Tasks - How do I...?
- Installation Guide - Detailed setup
- Navigation Features - F12, Ctrl+F12, hover tooltips
- Signature Help - Parameter hints and documentation
- Solution Management - Working with solutions
- Diagnostics & Validation - Error detection
- Code Editing Tools - Snippets, commands, wizards
- All Commands - Complete command reference
- All Settings - Configuration options
- Snippet Reference - Code snippet cheat sheet
- Clarion Language Reference - Language syntax
Variables declared with a user-defined class type now show a Warning squiggle when the type's .inc file isn't included. A code action (Ctrl+.) inserts the INCLUDE,ONCE statement β optionally in the current file or the MEMBER parent. A companion Information diagnostic fires when the include is present but required Link()/DLL() project constants are missing from the .cwproj, with a QuickPick code action to add them. The include verifier walks the full transitive include chain (any depth, cycle-safe) to avoid false positives from transitively-included types.
Create a minimal Clarion solution (.sln, .cwproj, .clw) from the Solution View + button or Clarion: New Solution in the command palette. Clarion version and configuration are auto-detected.
token:functionequate identifiers no longer resetinCodeSection, preventing false-positiveBREAK used outside LOOPdiagnostics- Blank-label
ITEMIZEblocks (e.g. inXMLType.inc) no longer cause false-positive missing-include warnings - Settings no longer write redundant legacy individual keys alongside the
solutionsarray
Hover documentation now covers 310 Clarion built-in functions and 158 window/report attributes. Overload narrowing: hovering OPEN(Window) shows only the WINDOW-relevant signatures. Context-aware hover for HIDE, DISABLE, and TYPE β shows attribute or statement usage depending on whether you're inside a WINDOW/REPORT structure.
- Projects sorted by dependency order in Solution View
- Active build config auto-detected from
.sln.cacheon open - Fixed MSBuild property quoting and per-project log files
- SDI startup fix: hover and Go To Definition now work on first open without needing to reopen the solution
LIKE(TypeName)dot-access chains resolve correctly (e.g.SELF.OrigWin.Maximized)- Equate hover shows correct type (no longer shows
UNKNOWN)
Hover over any runtime property equate (PROP:Enabled, PROP:Color, PROPPRINT:Device, β¦) to see an instant description, read-only badge, and usage example. Covers 336 PROP: entries and 25 PROPPRINT: printer properties.
Type EVENT: for a full autocomplete list of all 63 EVENT: equates. Hovering shows category and description.
A N references lens above every procedure and CLASS declaration. Dead code is immediately visible. Click to open the References panel.
Progressively widen selection through Clarion's scope hierarchy.
Joins |-continued lines, trims whitespace, and collapses adjacent string literals.
variable.property.method chains now resolve all the way through. Hover, F12, and Ctrl+F12 on thisStartup.Settings.PutGlobalSetting(...) correctly walk the type chain.
PREFIX:Namereference variables now resolve correctly- Hover, F12, and Ctrl+F12 suppressed inside string literals
- Colon-stripping fallback removed from hover and F12
Rename any user-defined symbol across the entire workspace β scope-aware, protects read-only .inc files.
Click a symbol to highlight all its occurrences in the current file.
Search for any procedure, class, or label across all files in the solution.
- GitHub Issues - Report bugs or request features
- Discussions - Ask questions, share tips
Special thanks to:
- fushnisoft - Original Clarion syntax highlighting
- The Clarion community for feedback and testing