All notable changes to the Laravel extension will be documented in this file.
- Build models template for snake_case relation fix by @TitasGailius in #627
- Support for new Laravel 13 attributes by @N1ebieski in #626
- Add Common Artisan Commands With Terminal Execution Support by @TitasGailius in #629
- PestPHP Intellisense by @TitasGailius in #632
- Add "Laravel: Go to route" command by @TitasGailius in #633
- Polish Pest helper file generation by @TitasGailius in #635
- Consistent command casing by @joetannenbaum in #636
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.8...v1.7.0
- Avoid overlapping test explorer updates by @jaewun in #622
- Inertia V3 Support by @TitasGailius in #623
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.7...v1.6.8
- Fix snake_case conversion for relation count attributes by @TitasGailius in #611
- Increase binary download timeout to 5 minutes by @TitasGailius in #613
- Disable error popups by default by @TitasGailius in #614
- Debounce Pint processes on save by @TitasGailius in #615
- Link Livewire page routes to components by @TitasGailius in #616
- Increase parser timeout and improve error messages on Windows by @TitasGailius in #619
- Handle non-backed enums in Blade component discovery by @TitasGailius in #620
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.6...v1.6.7
- Fix parsing of PHP code containing special characters by @TitasGailius in #605
- Test case for intermediate config keys by @TitasGailius in #607
- Support intermediate (non-leaf) translation keys by @TitasGailius in #609
- Update issue assignees by @TitasGailius in #610
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.5...v1.6.6
- Fix for Test Runner FileWatcher by @N1ebieski in #599
- Fix [Bug]: Startup errors when phpunit/phpunit is not installed by @N1ebieski in #598
- Fix [Bug]: On Windows Blade Jump to Blade - Path Not Found by @N1ebieski in #602
- Fix missing err handling in parser exec callback by @N1ebieski in #600
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.4...v1.6.5
- Initial tests by @TitasGailius in #594
- createOrFirst, updateOrCreate added by @s1ghn in #592
- Support for XDebug trigger mode for Test Runner by @N1ebieski in #591
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.3...v1.6.4
- Discover tests on activation by @TitasGailius in #587
- Fix error location resolution for Docker/Sail environments by @TitasGailius in #588
- Test runner feature flag by @TitasGailius in #589
- Fix newline in the Blade class component hover by @N1ebieski in #586
- Fix error thrown by non-instantiable (abstract) policy classes by @sjwebb in #580
- Fix for wildcards in Route::is by @N1ebieski in #570
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.2...v1.6.3
- Fix test runner for PHPUnit projects by @TitasGailius in #585
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.1...v1.6.2
- Improve Test Runner error parsing by @TitasGailius in #584
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.6.0...v1.6.1
- Fix ReflectionException when policy method does not exist by @dbpolito in #581
- Test Runner by @TitasGailius in #583
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.5.1...v1.6.0
- Fix: Method Illuminate\Support\Stringable::doesntEndWith does not exist. by @nonamich in #563
- Fix props without types by @TitasGailius in #566
- Add comprehensive support for composite, union, and special PHP types by @TitasGailius in #567
- Fix Invalid model helpers generated for built in casts with optional parameters by @N1ebieski in #559
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.5.0...v1.5.1
- Improve Livewire 4 component and namespace parsing by @TitasGailius in #556
- Livewire Props by @TitasGailius in #553
- Add missing semicolons to markdown props by @TitasGailius in #558
- Blade Props by @TitasGailius in #554
- Livewire 4: Better MFC Support by @TitasGailius in #561
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.4.3...v1.5.0
- Add configuration option to disable artisan make commands in VSCode explorer/context by @N1ebieski in #546
- Fix Could not open input file: vendor/bin/pint by @N1ebieski in #550
- Livewire 4 Support by @TitasGailius in #549
- Fix namespaced Blade components by @TitasGailius in #552
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.4.2...v1.4.3
- Fix Pint not working on DDEV environment by @N1ebieski in #536
- Add configuration option to disable artisan make commands in VSCode explorer/context and command palette by @N1ebieski in #530
- Docker Support by @TitasGailius in #537
- Add Markdown hover links for scopes to the implementation by @N1ebieski in #527
- Support for Laravel attributes by @N1ebieski in #542
- Bump parser version to v0.1.44 by @joetannenbaum in #543
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.4.1...v1.4.2
- Fix: Ensure environment is detected before generating hashed files by @TitasGailius in #531
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.4.0...v1.4.1
- Fix Invalid model helper generated for casts with parameters by @N1ebieski in #525
- Fix for PHP Command for Pint on Windows by @N1ebieski in #469
- Integration artisan make commands with VSCode explorer/context by @N1ebieski in #466
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.3.1...v1.4.0
- Support for autocompletion rules in FormRequest by @N1ebieski in #336
- Fix
aftervalidation rule completion template by @ace-of-aces in #523 - Fix heredoc/nowdoc in blade files by @N1ebieski in #297
- Add heredoc/nowdoc for Blade syntax by @N1ebieski in #316
- Support for translations in files in subfolders by @N1ebieski in #314
- @ace-of-aces made their first contribution in #523
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.3.0...v1.3.1
- Fix models.php template indentation by @TitasGailius in #515
- Use relative paths for route links by @TitasGailius in #514
- Support for the Pint exclude config by @N1ebieski in #518
- Add scope parameters to the repository and docblock generator by @N1ebieski in #487
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.2.3...v1.3.0
- Fix "app/Modelsdirectory does not exist" error by @TitasGailius in #511
- @TitasGailius made their first contribution in #511
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.2.2...v1.2.3
- Add a command that generates namespace by @N1ebieski in #463
- Build script cleanup by @joetannenbaum in #464
- Fix typo in php-templates/translations.php file by @N1ebieski in #505
- Fix Pint Error: The path is not readable by @N1ebieski in #502
- Fix Middleware not found, defined in 3rd party composer package by @N1ebieski in #496
- Fix for docblock generator for decimals in model casts by @N1ebieski in #495
- Fix - Replace single quotes with double quotes for echo PHP_BINARY; in phpEnvironments by @N1ebieski in #478
- Support for models in subfolders by @N1ebieski in #335
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.2.1...v1.2.2
- Fix - move refactor class commands from laravel.wrapWithHelper.submenu to editor/context by @N1ebieski in #460
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.2.0...v1.2.1
- Correct repository link in release script by @duncanmcclean in #453
- Add Pint formatter to the available list by @N1ebieski in #451
- Add commands that refactor class attributes in blade files by @N1ebieski in #432
- Add a command that wraps selected text with a helper by @N1ebieski in #431
- Increase consistency for registered commands by @joetannenbaum in #459
- @duncanmcclean made their first contribution in #453
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.1.1...v1.2.0
- Pint for plain PHP projects by @joetannenbaum in #449
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.1.0...v1.1.1
- Pint commands + run Pint on save by @joetannenbaum in #448
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.0.14...v1.1.0
- Fix Auth bug when \Illuminate\Auth\AuthServiceProvider::class is disabled by @N1ebieski in #445
- bump required Php version by @m-graham in #413
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.0.13...v1.0.14
- Fix for getTranslationPathByName with nested translations by @N1ebieski in #439
- Fix for DIRECTORY_SEPARATOR for Windows environment by @N1ebieski in #441
- Add ddev support by @damms005 in #398
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.0.12...v1.0.13
- Add support for custom View extensions by @ryangjchandler in #429
- Support for configs in subfolders by @N1ebieski in #427
- Add support for root-level Inertia configs by @N1ebieski in #425
- Fix bug with unnecessary autocompletion blade components when name doesn't match by @N1ebieski in #417
- Support for linked parameter vscode.Diagnostic.code for diagnosticProvider by @N1ebieski in #415
- Add GH action for automatically formatting code by @joetannenbaum in #438
- Fix for Blade::anonymousComponentPath with double colon by @N1ebieski in #420
- Support for routes autocompletion for Route::is and routeIs methods by @N1ebieski in #411
- Fix for translations with numeric keys by @N1ebieski in #407
- Fix a bug with overrides vendor blade components by @N1ebieski in #361
- Fix Route not found error in web.php when using Volt by @N1ebieski in #349
- @ryangjchandler made their first contribution in #429
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.0.11...v1.0.12
- Improve startup time by @joetannenbaum in #404
Full Changelog: https://github.com/laravel/vs-code-extension/compare/v1.0.10...v1.0.11
- Nothing yet
- Memory improvements (PR #402)
- Fix False positive "Translation not found" with partial string in Laravel JSON translation (#375)
- Fix Translation detection breaks when there are blank lines in a JSON file (399)
- Fix Translation not found when contains non-standard character (#401)
- Fix a bug with enums in config files (#390)
- Fix SyntaxError: Unexpected end of JSON input (#391)
- Add the bootstrap/app.php pattern to the middleware repository (#358)
- Add support for @pushIf, @pushOnce, and @use directives in Blade completion (#378)
- Fix Middleware "handle" does not exist on invokable middleware files (#381)
- Fix Cannot access offset of type array on array (#341)
- Support for Laravel 12 scope attributes (#357)
- Ability to quickly add
VITE_env variables from existing (#332) - Add trans_choice helper (#331)
- Support for locale parameter in translations (PR #330)
- Better resolution for
$request->user(),auth()->user(), andAuth::user()(#333)
- Improve file watcher performance (#327)
- Autocompletion, linking, and diagnostics for Storage Disks (#328)
- Fix relative path when path does not exist (#322)
- Automatically check lowercase Inertia view paths (#323)
- Basic Folio support (#319)
- Add link to Blade file for MailMessage::markdown/view (#317)
- Fix TypeError: Cannot read properties of undefined (reading 'type') (#296)
- Support for contracts (#298)
- Option to disable model doc block generation + fix doc block extends (#320)
- Fix fetching Blade component properties when constructor is missing (#307)
- Fix parsing of incomplete or incorrect language files (#311)
- Support for vendor components (#310)
- Better support for Blade component index files (#284)
- Enable Eloquent Model property auto-complete after sole, find, first, or firstOrFail (#274)
- Added cast custom return type from get method (#283)
- Blade component improvements (#305)
- Add parsing of immutable dates (#290)
- Add auto-spacing for Blade tags (#273)
- Add Lando to list of detectable PHP environments (#241)
- Stable release!
- Additional Livewire, Volt, and Blade support (#261)
- Translation script fixes (#266)
- Add missing namespace to Gate in auth template (#265)
- Reduce error popups (#267)
- Improvements to Eloquent docblocks (#258)
- Improved Gate/Policy support (#254)
- Translation performance improvements (#256)
- Basic linking to Blade component views (#257)
- Added optional test func to PHP auto detection (#219)
- Use 2MB buffer instead of 1MB (#211)
- Added CONTRIBUTING.md to help people that want to contribute to the extension
- Include debug info when copying error (#250)
- Stop using File::json for JSON translations (#249)
- Fix inertia relative path (#246)
- Fix relative asset paths (#245)
- Don't re-document existing Eloquent docblocks (#235)
- Dispose file watchers on deactivate (#234)
- More Eloquent column mapping types (#233)
- Null logger for mini PHP scripts (#199)
- App Bindings: Make sure reflected class is not null (#198)
- ScopedPropertyAccessExpressionParser improvements (#8)
- Check
isAutoCompletingbefore firing it (#7) - Make sure
ClosureThisis not null before we use it inauthmini script (#200) - Handle string concatenation parsing (#9)
- Improved Blade autocomplete, linking, hovering, and diagnostics for echo statements (#10, #205)
- Allow configuration of project base path (#184)
- Fix confusing "PHP Command" setting (#187)
- Fix for missing translation "path" property (#186)
- Fix binary permissions cross platform (#183)
- Increase binary download timeout to 60s (#182)
- PHP Environment setting. Specify your local environment via a list of common local setups.
- Broadened the scope of
configvalues to include top level files and top-level array keys
- Auto-detection of Sail and running PHP scripts via Sail
- Bug where second parameter of
config()was autocompleting, linking, hovering, and validating - Removed hardcoded
envvalues fromlaunch.jsonto allow users to contribute more easily - File watcher paths as configured by
config/inertia.php - Missing Inertia views quick fix now respects the paths as configured by
config/inertia.php - Hovering and linking for Windows users with incorrect filepaths
- Removed error popups when the codebase had a parser error (during active editing)
- Fixed issue with executing binary on Windows path with spaces
- Repo file watchers are now debounced to prevent CPU from spiking
- Extension should now output cleaner errors from mini scripts so that future issues will be easier to debug
- Fixed fallback for running PHP code (mentioned in 0.1.13 as a breaking change). The note in the last changelog was incorrect: the new PHP Command setting should just read
php, meaning the file will just be added to the end of the command.
- Initial Windows support
- Fixed nullable param for translations template for PHP 8.4
- Fixed undefined GLOB_BRACE for translations template
- Fix for Eloquent model info when
phpDocumentorwasn't installed - Fix for handling newline characters in JSON response (#31)
- Remove
.githubfrom bundle (#29) - Inspired by #20, Inertia paths are now read from the existing PHP config in the project
- Breaking: The setting for PHP Command is now changed to run a file, not inline code. Previously this would have looked like this:
php -r "{code}"but should now look like thisphp "{code}"
- Now fetching OS/arch specific binaries for Mac and Linux (Windows coming soon)
- Fixed translation loading when there were a lot of translations
- Fixed an issue regarding full name resolution for scoped property access
- No significant changes
- Updated icon
- Fixed translation file path display
- Fixed detection of helper methods in parser (e.g.
config(),redirect(), etc) - Made downloaded binary ~30% smaller
- Fixed parsing for
newanonymous classes (i.e. migrations) - Fixed parsing for regular function declarations
- Bugfix for (really) large
detectresponses - Autocomplete for
viewrelated items orders by non-vendor views first - Fixed bug for searching for views in non-directories
- Better support for earlier versions of Laravel (fixes for config and translation loading)
- If extension cannot load, give specific reason
- Support for linking in path helpers:
base_pathresource_pathconfig_pathapp_pathdatabase_pathlang_pathpublic_pathstorage_path
- Facade aliases are now considered
- Blade linking, hovering, and diagnostics are improved
- Fixed an error where variables were not consistently resolved
- Fixed bug where we weren't restricting diagnostics to only PHP files
- Added timeout to parsing processes
- Remove external dependency on file downloader extension
- Removed keybindings and commands for test runner
- Aligned items you can autocomplete with linkable, hoverable, and diagnostic-able items
- Created settings for opting in and out of auto completion
- Performance improvements
- Remove tests integration (for now)
- Added
to_routecompletion - Added
redirect()helper chaining for hovering, linking, and diagnostics