Skip to content

msarson/Clarion-Extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,787 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Clarion Extension for Visual Studio Code

Version Installs

Professional Clarion language support for Visual Studio Code with intelligent code navigation, IntelliSense, and build integration.

πŸš€ Quick Links


✨ Key Features

🎨 Clarion & Template Language Support

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 β†’

πŸ’‘ Signature Help & Documentation

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, TYPE show 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 β†’

πŸ€– IntelliSense β€” Smart Completions

Type SELF. or MyVar. for context-aware member suggestions. Type PROP:, PROPPRINT:, or EVENT: for documented equate completions.

  • Resolves SELF., PARENT., MyVar., or ClassName. to the correct class
  • Full inheritance walk β€” shows methods and properties from parent classes
  • Access control aware β€” PRIVATE / PROTECTED / PUBLIC scoping 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 β†’

✏️ Code Snippets

Write code faster with 50+ smart snippets - works immediately!

πŸ“‚ Solution Management

Open any Clarion solution - just open the folder.

🧭 Smart Code Navigation

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.List navigates to the class member declaration
  • Typed variable members: F12/Ctrl+F12/hover on obj.Method() where obj is any typed variable
  • INTERFACE support: hover, F12, Ctrl+F12, and references for interface methods, IMPLEMENTS(), and 3-part Class.Interface.Method implementations
  • 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 β†’

πŸ”§ Build Integration

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 β†’

🎯 Real-time Diagnostics

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 .inc not included in the file; code action inserts the INCLUDE automatically
  • 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 β†’

✏️ Code Editing Tools

Productivity features to write code faster.


πŸ“¦ Installation

Requirements

  • Visual Studio Code (latest version)
  • Clarion (for build features)

Quick Install

  1. Open VS Code
  2. Press Ctrl+Shift+X
  3. Search for "Clarion Extensions"
  4. Click Install

Detailed installation instructions β†’


πŸŽ“ Learning Resources

For New Users

Feature Documentation

Reference


πŸ†• What's New

Latest: v0.9.6 (2026-04-23) β€” Missing Include Diagnostics & Bug Fixes

🩺 Missing INCLUDE & DefineConstants Diagnostics

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.

πŸ§™ New Solution Wizard

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.

πŸ› Key Bug Fixes

  • token:function equate identifiers no longer reset inCodeSection, preventing false-positive BREAK used outside LOOP diagnostics
  • Blank-label ITEMIZE blocks (e.g. in XMLType.inc) no longer cause false-positive missing-include warnings
  • Settings no longer write redundant legacy individual keys alongside the solutions array

See full changelog β†’


Recent: v0.9.5 (2026-04-21) β€” Hover Expansion & Build Integration

πŸ“š 310 Built-ins, 158 Attributes

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.

πŸ—οΈ Build Integration Improvements

  • Projects sorted by dependency order in Solution View
  • Active build config auto-detected from .sln.cache on open
  • Fixed MSBuild property quoting and per-project log files

πŸ› Key Bug Fixes

  • 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)

See full changelog β†’


Recent: v0.9.4 (2026-04-19) β€” PROP/EVENT Docs, CodeLens & Editor Power-Ups

πŸ“š PROP: / PROPPRINT: Hover Documentation

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.

⚑ EVENT: Hover & Autocomplete

Type EVENT: for a full autocomplete list of all 63 EVENT: equates. Hovering shows category and description.

πŸ”’ CodeLens β€” Inline Reference Counts

A N references lens above every procedure and CLASS declaration. Dead code is immediately visible. Click to open the References panel.

πŸ“ Expand / Shrink Selection (Shift+Alt+β†’ / Shift+Alt+←)

Progressively widen selection through Clarion's scope hierarchy.

πŸ”— Flatten Continuation Lines (Ctrl+.)

Joins |-continued lines, trims whitespace, and collapses adjacent string literals.

See full changelog β†’


Recent: v0.9.2 (2026-04-18) β€” Navigation & Bug Fixes

πŸ”— Multi-Level Chain Navigation

variable.property.method chains now resolve all the way through. Hover, F12, and Ctrl+F12 on thisStartup.Settings.PutGlobalSetting(...) correctly walk the type chain.

πŸ› Key Bug Fixes

  • PREFIX:Name reference variables now resolve correctly
  • Hover, F12, and Ctrl+F12 suppressed inside string literals
  • Colon-stripping fallback removed from hover and F12

See full changelog β†’


Recent: v0.8.8 (2026-04-12)

✏️ Rename Symbol (F2)

Rename any user-defined symbol across the entire workspace β€” scope-aware, protects read-only .inc files.

πŸ”† Document Highlight

Click a symbol to highlight all its occurrences in the current file.

πŸ” Workspace Symbol Search (Ctrl+T)

Search for any procedure, class, or label across all files in the solution.

See full changelog β†’


πŸ’¬ Support & Feedback


πŸ“„ License

MIT License


πŸ™ Acknowledgments

Special thanks to:

  • fushnisoft - Original Clarion syntax highlighting
  • The Clarion community for feedback and testing

About

VS Code Extension for Clarion

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors