Aurelia 2Language intelligence for Aurelia 2 templates using the shared Aurelia semantic runtime. The extension models component contracts and template-to-TypeScript connections.
It recognizes decorators, conventions, Unproven facts stay explicit in semantic evidence. Problems excludes broad or non-actionable uncertainty. Hover includes typed uncertainty only when it affects the selected answer; broader resource state appears in Aurelia Resources. FeaturesHoverHover selects one supported Aurelia token at its exact authored range. Template
members and locals show the selected type and any proved local role. Bare
Member cards may include source documentation, visibility, and deprecation. Exact calls may show the selected overload or instantiated generic signature. Resource cards show authored identity and Aurelia kind, adding an alias relationship or implementation when source evidence proves it. Bindable declarations show their public type and declared default mode. Bindable usages show the current effective mode and its authority. Static route IDs and paths show their selected route context. A card includes at most one presented cursor diagnostic or typed uncertainty that affects its answer. Broad origin and provenance stay in Aurelia Resources, and resource-tag hover does not enumerate bindables. DiagnosticsSource-linked diagnostics cover unknown elements and attributes, expression errors, and binding mismatches. Errors identify definite correctness or configuration failures. Warnings identify high-confidence risks that Aurelia may still tolerate at runtime. Information is reserved for exact, actionable incomplete-analysis loci. Broad ownership/admission uncertainty and operational failures stay out of standalone Problems. VS Code's native TypeScript/JavaScript provider owns ordinary Program diagnostics; Aurelia does not republish those rows. When Aurelia's semantic diagnosis and generated template checker evidence describe the same authored problem, the semantic diagnosis owns the squiggle and the checker fact appears as related information. The 0.5 release line has no severity overrides, inline suppression, or blanket strict mode. VS Code's built-in HTML service validates embedded style and script text without
interpreting Aurelia interpolation. Templates use native Exactly owned templates keep bounded Aurelia recovery Problems for supported malformed tags, attributes, comments, declarations, and foreign-content CDATA in either language mode. This coverage is a defined recovery set, not a general HTML validator. Aurelia HTML retains HTML language-service participation and completions. As a
separate language mode, it can change file icons, Quick fixesEdit-backed diagnostics offer quick fixes for proved source operations, such as declaring a missing view-model member or registering an available framework capability. Only diagnostics with a proved plan offer a repair. Selecting a fix re-plans it against current source; an invalidated plan returns its exact refusal reason and applies nothing. ExplanationsExplanations are available when semantic-runtime identifies one exact current subject:
Explanations use VS Code's native picker and modal UI. They can disclose incomplete or truncated evidence and re-check the document and semantic answer before opening source. These source-context actions do not appear in the Command Palette. Analysis limitationsWhen the Aurelia Resources view reports a current analysis limitation eligible for review, choose
Review Analysis Limitations from the view title to inspect its exact source and reason. Version 1
The accepted dispositions are CompletionsSuggestions use the resources and members registered and visible in the current
project scope. They cover element tags, bindable attributes, binding commands,
expression members, value converters, and binding behaviors.
Completions carry exact authored replacement ranges and safely compose Go to DefinitionNavigate from template usage to source definition. This works for custom elements, attributes, template controllers,
bindables, expression identifiers, local scope variables, and source-resolvable router Find ReferencesFind verified usages of source-backed template members and Aurelia resources across your project. The result contains verified rows and an omitted count when candidate sites cannot be verified or mapped into editor locations. RenameRename covers source-backed template members, bindables and aliases, custom elements and attributes, template controllers, value converters, and binding behaviors when declarations are editable and references are verified. Renames initiated from TypeScript, TSX, JavaScript, or JSX members extend atomically into admitted templates after the complete current transaction is verified. An unverified candidate, stale target, excluded target, or physical file mismatch refuses the whole transaction. Supported VS Code F2 journeys apply a multi-file rename as one undo unit. Semantic TokensThe server emits semantic classifications for Aurelia elements, attributes, bindables, controllers, commands, converters, behaviors, metadata elements, events, listener modifiers, and interpolation delimiters. The extension declares native fallback token types, while the active VS Code theme determines their final appearance. Native structure and editingDocument and workspace symbols, document highlights, selection ranges, paired-tag linked editing, and folding ranges stay in VS Code's native UI and use the same source-backed semantic answers as navigation. Resource DiscoveryAurelia Resources in Explorer shows the current runtime resource inventory, grouped by kind. It covers custom elements, custom attributes, template controllers, value converters, and binding behaviors. Compiler syntax such as binding commands and attribute patterns has separate ownership. Each definition keeps its aliases, bindables, declaration form, origin, and exact source targets. Multi-root results include workspace and project identity when needed for search or disambiguation. Resource rows offer declaration, implementation, and side-by-side navigation when those targets are proved. Declaration metadata, selected-template availability, refresh status, and project failures are reported separately. A rejected refresh keeps the last coherent tree and marks it out of date. Failed and out-of-date projects offer Retry Resource Discovery and Open Aurelia Output. Unsupported projects offer Output. Icons carry one meaning at each tree level:
Text, tooltips, and accessibility labels carry the same information. Status colors identify failed, incomplete or invalid, unsupported, and out-of-date projects. Pathless, duplicate, and open resources keep neutral styling. Opaque third-party registries can leave inventory or selected-template availability open. In that state, an unobserved resource name is not treated as definitely absent. Use Aurelia: Go to Resource... to search current navigable inventory across active workspaces. Aurelia: Go to Resource Available to Active Template... uses the exact compiler scope at the template cursor and prompts when project or template ownership is ambiguous. Quick Picks search resource details, ownership, source location, and incomplete metadata. Before opening a retried navigation, the extension repeats the template-availability proof against the current project snapshot. Binding Mode HintsOptional inline hints show whether What Aurelia constructs are supported
How uncertainty is representedDynamic registration and opaque package code can leave static analysis open. The extension preserves the exact facts it has proved and records the missing evidence separately. Problems stays focused on source-linked, actionable findings. Hover stays with the selected identity and directly owned context, plus at most one relevant diagnostic or typed uncertainty. Aurelia Resources carries broader inventory, origin, and availability state. Requirements
Workspace ActivationAutomatic activation starts with dependency manifests, an open Aurelia entry
source, or exact
Set
Disjoint workspace roots receive independent language-server sessions. Enabled nested folders become project-root hints; semantic-runtime decides the admitted project boundaries inside each root. Untitled and out-of-workspace documents stay unclaimed. Version 0.5 supports filesystem-backed local workspaces. Virtual workspaces are unsupported, and remote development is outside the release-tested host envelope. Settings
Getting Started
CommandsThe extension assigns
TroubleshootingIf a feature is unavailable:
The extension normally runs one language-server Worker per admitted workspace root. To diagnose a Worker-specific
startup or lifecycle problem, launch VS Code with Feedback
|