Skip to content

Releases: loganch/AutoIt-VSCode

v1.4.0 - 2026-02-12

13 Feb 00:43

Choose a tag to compare

Added

  • Map variable IntelliSense - Intelligent key completions when accessing AutoIt Map variables
    • Shows available keys when typing a Map variable name (e.g., typing $map shows known keys)
    • Tracks Map keys across your workspace and included files
    • Works with both direct assignments ($map["key"] = value) and declarations with initial keys
    • Configuration options to tune behavior:
      • autoit.maps.enableIntelligence - Enable/disable Map intelligence (default: true)
      • autoit.maps.includeDepth - Maximum depth for resolving #include files (default: 3, range: 0-10)
      • autoit.maps.showFunctionKeys - Show Map keys assigned in functions (default: true)
    • See docs/map-support.md for performance tuning recommendations
  • Scope-aware variable IntelliSense - Intelligent context-aware variable completions that respect AutoIt's scoping rules
    • Shows only accessible variables at cursor position (local, static, global, and parameters)
    • Prioritizes local variables over globals for better relevance
    • Respects function boundaries and AutoIt's scope rules (global and function-level scoping)
    • Extends to global variables from #include files
    • Intelligent debouncing (500ms) with concurrent update handling
    • Fallback to regex-based completion when service is unavailable
  • Ignore AutoIt Tidy backup files from diagnostics

Fixed

  • Improved error handling for variable tracking updates during configuration changes
  • Enhanced stderr and process error handling in Au3Check execution

Changed

  • Enhanced README documentation with Map intelligence feature details
  • Enhanced variable parsing with support for comma-separated declarations (e.g., Global $a, $b, $c) and improved string handling for AutoIt's double-character escaping
  • Extracted formatter constants into constants.js file
  • Syntax Highlighting Improvements
    • Migrated syntax definition from XML to JSON format (autoit.tmLanguage.json) for better maintainability and IDE support
    • Enhanced function pattern matching to distinguish function declarations from function calls with dedicated scopes
    • Consolidated all 98+ AutoIt macros into dedicated pattern repository for improved consistency
    • Improved numeric constant parsing with better hexadecimal, decimal, and scientific notation matching
    • Refined operator patterns for comparison, assignment, arithmetic, and concatenation with proper precedence
    • Fixed multi-line string handling by refining string end patterns
    • Enhanced preprocessor directive matching (#include, #pragma, #region, etc.) for better accuracy
    • Improved comment block pattern matching (#comments-start/#cs directives)
    • Reorganized send-key patterns into 13 categorized groups (browser keys, media keys, navigation, numpad, lock, editing, system keys) for granular theme customization

v1.3.0 - 2025-11-10

10 Nov 22:28

Choose a tag to compare

Added

  • COM object syntax highlighting for properties and methods using dot notation
  • Distinct token scopes for COM identifiers (support.class.com.autoit) to enable theme-specific styling
  • Contributors section to README.md with auto-updating contrib.rocks integration
  • Added missing AutoIt macros: @exitMethod, @GUI_DropId, and @SW_ENABLE to completions and hovers
  • AU3Check parameter parsing support with corresponding tests to improve syntax check behavior
  • Parameter validation and improved status messages in OutputChannelManager (#230)
  • WinNet API completions added to IntelliSense

Fixed

  • Function pattern incorrectly matching COM object methods (e.g., $obj.Method() now correctly identified as COM, not function)
  • Incorrect documentation for @GUI_CtrlId macro (now correctly states "Last click GUI Control identifier" instead of "Drag GUI Control identifier")
  • Duplicate WinNet signature removed and WinAPI COM signatures added to signature/hover data
  • Incorrect CRLF constant definition corrected
  • Duplicate parameter documentation entries removed in signature help provider
  • Removed stray duplicate (misspelled) Clibpoard completion entry
  • Improved parameter checks in runCheckProcess for more reliable regex matching

Changed

  • Consolidated macro data into single source of truth (src/completions/macrosData.js) to eliminate duplication and ensure consistency between completions and hovers
  • Converted src/hovers/macros.json to src/hovers/macros.js to import from unified macro data source

v1.2.0 - 2025-10-08

09 Oct 03:07

Choose a tag to compare

Added

  • File path validation to prevent path traversal attacks
  • Parameter safety warnings for autoit.consoleParams to detect potentially dangerous shell metacharacters
  • Workspace symbol performance optimizations with batch processing to prevent UI freezing on large projects
  • Configuration options autoit.workspaceSymbolMaxFiles (default: 500) and autoit.workspaceSymbolBatchSize (default: 10)
  • Configuration option autoit.symbolMaxLines (default: 50000) to control maximum lines processed for symbol information
  • Warning message when files exceed symbol processing limit with actionable instructions
  • Comprehensive unit tests for completion provider with 8 test cases
  • Comprehensive README documentation improvements with installation guide, quick start section, platform support matrix, troubleshooting guide, and reorganized configuration
  • Distribution scripts for packaging the extension to multiple marketplaces:
    • package-all.js for simultaneous packaging to VS Code Marketplace and OpenVSX
    • package-openvsx.js for OpenVSX-specific packaging with publisher name handling

Fixed

  • Command injection risk in registry update functionality by replacing exec with execFile for safer argument handling
  • Multiple global output panels opening for AutoIt on startup
  • Memory leak in completion provider where include cache grew indefinitely across document switches
  • Incorrect array comparison logic in completion cache invalidation
  • Cross-document contamination of completion items from include files

Changed

  • Simplified ESLint configuration by using globals package and removing redundant rules
  • Workspace symbol cache now uses incremental updates instead of full invalidation on file changes
  • Completion provider now uses per-document Map-based caching with LRU eviction (50 document limit)
  • Include cache automatically cleans up when documents are closed
  • Symbol processing limit increased from hardcoded 10,000 to configurable 50,000 lines by default

Removed

  • The unused autoit.YAML-tmLanguage file

v1.1.0 - 2025-09-23

24 Sep 00:38

Choose a tag to compare

Added

  • Support for running the Format Document command via the Command Palette or hotkey using Tidy.exe on scripts, including automatic formatting on save
  • Jest testing framework with test suite for language features and services

Changed

  • Refactored monolithic command code
  • Upgraded build toolchain
  • Diagnostic system overhaul with encoding handling and problem script source tracking

Fixed

  • Restored Go to Definition functionality for symbols declared outside of current script
  • Restored Open Include file (Alt+i) functionality
  • Path handling improvements
  • Completion provider accuracy with user-defined functions

v1.0.14 - 2025-07-31

31 Jul 14:03

Choose a tag to compare

Changed

  • Node package update.
  • Sets editor.minimap.showRegionSectionHeaders to false for AutoIt scripts.
  • Optimized editor command registrations.
  • Enhancements to syntax definition file.

Fixed

  • Usage of wrong Au3Check encoding for the file path string.

v1.0.13 - 2025-01-28

30 Jan 21:57

Choose a tag to compare

Added

  • Command to remove Debug to Console and MsgBox lines added by the extension
  • Commands to add and remove debug Trace lines
  • Refined syntax check, with ability to set options through #AutoIt3Wrapper_AU3Check_Parameters
  • Completions and Hovers for AutoIt3Wrapper Directives

Changed

  • Changes to autoit.includePaths setting now gets written to Windows Registry

Fixed

  • Go To Definition regression
  • Output colors not showing due to other extensions (e.g., Github Copilot)
  • Icons missing for some Const and Enum variables in the outline/Symbol search
  • Detection of nested Regions
  • outputCodePage setting not working
  • Au3Check/Problems tab now works with includePaths setting

Contributors

Danp2, vanowm, Sunev

v1.0.12 - 2023-09-26

26 Sep 22:15

Choose a tag to compare

Added

  • Signature help pulls description and parameters from function headers
  • Option to disable ( as an option to accept function completion suggestions
  • Syntax highlighting for #Tidy_On, #Tidy_Off, and #Tidy_ILC_Pos directives

Changed

  • Path checks for utility executables (e.g., Au3Check) reduced to occur when changes are made and disabled for non-Windows OSes
  • Simplified regex for functions
  • Trimmed spaces in insertHeader command
  • Removed default configuration settings that were overriding user settings

Fixed

  • Open include shortcut not working for library UDFs
  • Open include shortcut not working for paths with # in them
  • Function autocomplete from include files
  • Reduced completion suggestions when writing function definitions

Contributors

@vanowm, @rcmaehl

v1.0.11 - 2023-02-21

21 Feb 19:43
5a5eacd

Choose a tag to compare

Changed

  • Ignore case when identifying functions and regions
  • Include search made recursive
  • Improvements to regex used in extension functions

Fixed

  • Slow autocompletion suggestions
  • Runtime errors when failing with symbol creation
  • Can now capture regions with hyphens
  • Syntax highlighting for nested comment blocks
  • Include paths checked when gathering include data
  • Problem tab not showing errors or warnings
  • AutoIt indentation settings applying to other languages

Contributors

@Danp2, @loganch

v1.0.10 - 2022-12-05

05 Dec 21:12

Choose a tag to compare

Fixed

  • Regex characters (e.g., * and \) in that come after #Region will no longer stop all symbols from being found
  • smartHelp checks includePaths with relative paths (thanks to @vanowm)

v1.0.9 - 2022-12-01

01 Dec 16:58

Choose a tag to compare

  • Set VS Code to default to 4-space tabs for indentation like SciTe
  • Output window overhaul (thanks to @vanowm), including:
    • Additional colors
    • Multiple output panels
    • An encoding option
    • Options to keep output from previous runs
    • Options to show process ID and times
  • Option to show #regions as symbols in Outline and symbol search (thanks to @Danp2)
  • Syntax highlighting for Au3Stripper directives (thanks to rcmaehl)
  • Adds a wait for file save to finish before running certain commands (thanks to @vanowm)
  • Support for Sticky Scroll
  • Symbols nest in the Outline
  • SmartHelp options that allow launching of help files (e.g., CHM) for UDFs (thanks to @Danp2)

Changed

  • Tidy now runs through AutoItWrapper (thanks to @vanowm)
  • MsgBox/Console debugging line generation improved (thanks to @Danp2)
  • Paths to AutoIt executables can now be relative to the AutoIt executable in settings (Thanks to @Danp2)

Fixed

  • Syntax highlighting for #include lines followed by comments (thanks to @Danp2)
  • Makes regex for #include non-greedy (thanks to @Danp2)
  • Limits header insertion and include opening to be limited to AutoIt scripts (thanks to @vanowm)