- Handle case where the
node_modules
folder is not present in your project and an error is shown in the output panel when executing an ace command. This is now fixed and the extension will instead display a small warningPlease install your dependencies
.
- Fix a bug where Controller Methods were displayed as autocomplete suggestions in places where they should not be.
- Added the
env:add
command. Can be executed through the command palette or the tree view.
- Fixed a bug where Inertia links were not correctly detected. See #35
- Remove the warnings when Inertia links are not found. We gonna use another approach to handle this, at Typescript level instead of the extension level.
- Change the default
pagesDirectory
for Inertia to./inertia/pages
since this is the default directory for Inertia Starter kit.
Inertia suggestions were only working for Vue. Now they also work for React and svelte and is able by picking up .jsx
, .tsx
and .svelte
files in the resources/js/pages
directory.
Official release of the extension. All previous versions ( 1.1.x ) were pre-releases.
This version supports Adonis 5 and Adonis 6. If you ever want to continue supporting both via the extension, then make sure to keep this version. Future ones will only support Adonis 6..
Read the previous changelogs just below for more information on the changes in this new release.
- Fix bundling issue that prevented the extension from starting
This version remove all Edge related features :
Autocompletion for views/components in .edge and .ts files Go to template on click on .edge and .ts files Syntax highlighting + language configuration for Edge Edge snippets And others We have ported all these features to the Edge standalone extension here:
https://marketplace.visualstudio.com/items?itemName=AdonisJS.vscode-edge
- Some edge tags were not recognised by the extension:
inject
,let
, andeval
. - RC file parsing did not work when some property keys were defined using identifiers instead of string literals
For version 6, we'll allow users to define the rc file via an adonisrc.ts
file. This means defining options via typescript rather than JSON
This release adds two things:
- Previously, to detect when to activate the extension, we relied on the presence of an
adonisrc.json
file. If this file was found, the folder was considered to be an Adonis project. Now, theadonisrc.ts
file is also taken into account for that. - We also parse the
adonisrc.ts
file using AST, in order to extract certain properties required for the extension to works correctly
@unless
was detected as an edge component
-
Added support for custom views directory. With Adonis projects, you can define a custom folder that will holds your template like :
{ "directories": { "views": "templates" }, }
this is now handled by the extension. your links and autocompletion will work correctly
-
Fixed bug that highlighted
@!section
and@slot
as custom components
- Fix components-as-tags detection. Extension was detecting email litteral strings or even some TS decorators as components.
- Re-implement commands tree view that also works with Adonis 6
- Add a new "Open command file" in the commands tree view. An icon will be displayed next to each item that is a custom command and will allow you to open the related file
we should be feature-complete for the next stable release now. all we need to do now is fix the introduced bugs
-
Added a new pretty TreeView that list all adonis projects in the current workspace. This allows to select one as a current active project. When one project is select, that means all tree views are now scoped to this project. For example, the routes tree view will only show routes for this project. Commands tree view will also only show commands for this project. Ace commands like
make:controller
will be executed on this project etc. -
Add "Create view" code action. If your code is referencing a missing view, then this code action will be proposed. It will create and open the missing view for you.
- Now we are displaying a pretty welcome view when no Adonis project has been found in your workspace instead of displaying empty views.
- Fixed a bug that caused the full absolute path of the open file to be displayed when clicking on a route in the treeview. This led to multiple duplicate entries in the editor history.
Added Inertia support. So basically link provider + completion. Exactly as for edge templates.
By default, the extension assumes that your inertia pages are located in resources/js/pages/**/*
. If this is not the case, you can modify this with the adonisjs.inertia.pagesDirectory
vscode config.
Autocompletion + links wasn't supported before for component as tags. now it is!
For all link providers, i.e. inertia + controller strings + views in .edge or .ts. If your linked document is not found (which is probably an error on your part), a small red line is now displayed below it. Example:
Also fixed that little syntax highlighting bug in edge. the @end
was never caught
This is a pre-release supporting AdonisJS 6. The update also maintains compatibility with AdonisJS 5.x. Given its pre-release status, you can probably expect few bugs.
This is a quite early pre-release, so I wouldn't recommend installing it just yet
The following configuration options have been removed:
- All customizable regular expressions. Useless + added unnecessary complexity.
- Customizable extensions/directories. Same as above
- maxLinesCounts. Again same as above
Significant code refactoring was done to make it dependency-free from vscode. Basically : if you write a file importing a 'vscode' module, you can't run it outside VSCode. That means it's making testing way more challenging and slow.
Now, much of the code is extracted into independent and "pure" modules that can be easily tested without vscode. This has allowed me to implement many more tests, and i am way more more confident in shipping next features.
With this substantial code update, some bugs may have slipped through. If you encounter any, please report them via an issue
The various "hover providers" have been removed. These displayed data when hovering over a controller magic string for example. As they were not particularly useful and contributed to code complexity, I decided to remove them. However, if these were helpful to you, please let me know via an issue, and I may consider reintroducing them in the future
- Enhanced support for multiple workspaces, specifically for the Tree view of routes. A "select project" icon has been added, allowing you to switch between workspaces within this view.
- The "Open in browser" feature has been removed when the route is not set to GET.
Next coming versions will mainly add new features.