Integrate Volar for the built-in HTML Extension#171547
Integrate Volar for the built-in HTML Extension#171547johnsoncodehk wants to merge 103 commits intomicrosoft:mainfrom
Conversation
|
That's really cool, well architectured. |
38a39db to
4a8997a
Compare
|
This would be great to have - was there any decision by the team? |
|
If anyone wants to test this, you can find the preview extension here: johnsoncodehk#1 |
|
👋🏽 Hello and thank you for this work. I've been using it for a few weeks and it is a nice improvement over the existing builtin. One issue I've stumbled upon is with this type of construct, in a <script>
import {mySymbol} from "myLib";
// ....
</script>Where VSCode gives me this output
My {
"compilerOptions": {
"baseUrl": "./",
"allowJs": true,
"checkJs": true,
"paths": {
"myLib": [
"./assets/js/mylib.js"
]
},
"noEmit": true
},
"exclude": [
"**/*node_modules"
]
}The extension doesn't seem to pick up the Do you think it could be possible to merge that config with a tsconfig.json found in the current file's directories ancestors? Again, thanks for this work, it make working with good old plain HTML a nice experience. |
|
@dbarbeau Identifying the tsconfig file might break past expected behavior. It's better to first open an issue to ensure this behavior is acceptable. On the other hand, in the old implementation, TS2792 was hardcoded to be ignored, and we need to replicate this in the new implementation: https://github.com/microsoft/vscode/pull/171547/files#diff-59eb51223528724f029725ed9e90b92046cde69ea26e07e8059fd4f349a320e5L102-L105 |

This PR tries to implement
html-language-featureswith Volar.js, which is the framework used by Vue - Official, MDX, Astro behind the scenes. Compared with the original implementation, supporting embedded documents should be much simpler.Preview Extension: johnsoncodehk#1
Features / Bug Fixes
@ts-ignore,@ts-expecte-error...)