Releases: loganch/AutoIt-VSCode
Releases · loganch/AutoIt-VSCode
v1.4.0 - 2026-02-12
Added
- Map variable IntelliSense - Intelligent key completions when accessing AutoIt Map variables
- Shows available keys when typing a Map variable name (e.g., typing
$mapshows 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
- Shows available keys when typing a Map variable name (e.g., typing
- 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/#csdirectives) - Reorganized send-key patterns into 13 categorized groups (browser keys, media keys, navigation, numpad, lock, editing, system keys) for granular theme customization
- Migrated syntax definition from XML to JSON format (
v1.3.0 - 2025-11-10
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_ENABLEto 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_CtrlIdmacro (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)
Clibpoardcompletion entry - Improved parameter checks in
runCheckProcessfor 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.jsontosrc/hovers/macros.jsto import from unified macro data source
v1.2.0 - 2025-10-08
Added
- File path validation to prevent path traversal attacks
- Parameter safety warnings for
autoit.consoleParamsto 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) andautoit.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.jsfor simultaneous packaging to VS Code Marketplace and OpenVSXpackage-openvsx.jsfor OpenVSX-specific packaging with publisher name handling
Fixed
- Command injection risk in registry update functionality by replacing
execwithexecFilefor 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-tmLanguagefile
v1.1.0 - 2025-09-23
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
Changed
- Node package update.
- Sets
editor.minimap.showRegionSectionHeaderstofalsefor 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
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
v1.0.12 - 2023-09-26
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_Posdirectives
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
v1.0.11 - 2023-02-21
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
v1.0.10 - 2022-12-05
Fixed
- Regex characters (e.g.,
*and\) in that come after#Regionwill no longer stop all symbols from being found - smartHelp checks includePaths with relative paths (thanks to @vanowm)
v1.0.9 - 2022-12-01
- 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)