Vue - Official extension or vue-tsc version
3.2.5
VSCode version
1.111.0
Vue version
3.5.30
TypeScript version
n/a
System Info
System:
OS: macOS 26.3.1
CPU: (10) arm64 Apple M2 Pro
Memory: 114.73 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 25.8.0 - /opt/homebrew/bin/node
npm: 11.11.0 - /opt/homebrew/bin/npm
pnpm: 10.31.0 - /opt/homebrew/bin/pnpm
Browsers:
Brave Browser: 146.1.88.127
Chrome: 145.0.7632.160
Firefox: 148.0
Safari: 26.3.1
package.json dependencies
{
"name": "volar-astro-repro",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.7.0",
"@fortawesome/free-solid-svg-icons": "^6.7.0",
"@fortawesome/vue-fontawesome": "^3.0.8",
"vue": "^3.5.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.0",
"vite": "^6.0.0"
}
}
Steps to reproduce
- Install both Vue - Official (v3.2.5) and Astro (v2.15.x) extensions
- Clone the repro, run
npm install, open in VS Code
- Open
src/App.vue
- Place cursor inside the
:icon="" prop on the <FontAwesomeIcon> component
- Type
faL — no suggestions appear
What is expected?
Auto-import suggestions should appear in prop binding expressions, matching the behavior in <script setup> and open tags.
What is actually happening?
| Context |
Example |
Auto-import works? |
Vue <script setup> |
import { faL█ } |
Yes |
| Vue template open tag |
<faL█ |
Yes |
| Vue template prop expression |
:icon="faL█" |
No |
| Astro component prop |
icon={faL█} |
Yes |
All three Vue contexts work when Astro extension is disabled.
Link to minimal reproduction
https://github.com/tworonin/vue-astro-vscode
Any additional comments?
I happened to be in a project that used both Astro and Vue and noticed the behavior right away. Tried a few fixes, including disabling all extensions (except Vue) and re-enabling one by one until the conflict surfaced.
Created a companion issue on the Astro repo.
Apologies if I missed anything, please let me know and I will correct.
Thanks!
Vue - Official extension or vue-tsc version
3.2.5
VSCode version
1.111.0
Vue version
3.5.30
TypeScript version
n/a
System Info
package.json dependencies
{ "name": "volar-astro-repro", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite" }, "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.7.0", "@fortawesome/free-solid-svg-icons": "^6.7.0", "@fortawesome/vue-fontawesome": "^3.0.8", "vue": "^3.5.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.0", "vite": "^6.0.0" } }Steps to reproduce
npm install, open in VS Codesrc/App.vue:icon=""prop on the<FontAwesomeIcon>componentfaL— no suggestions appearWhat is expected?
Auto-import suggestions should appear in prop binding expressions, matching the behavior in
<script setup>and open tags.What is actually happening?
<script setup>import { faL█ }<faL█:icon="faL█"icon={faL█}All three Vue contexts work when Astro extension is disabled.
Link to minimal reproduction
https://github.com/tworonin/vue-astro-vscode
Any additional comments?
I happened to be in a project that used both Astro and Vue and noticed the behavior right away. Tried a few fixes, including disabling all extensions (except Vue) and re-enabling one by one until the conflict surfaced.
Created a companion issue on the Astro repo.
Apologies if I missed anything, please let me know and I will correct.
Thanks!