-
-
Notifications
You must be signed in to change notification settings - Fork 527
Description
Specs:
VSCode: v1.87.0 (Universal)
Vue Official Extension: v2.0.5
After the most recent update said to remove:
TypeScript Vue Plugin (Volar) v1.8.27
Issue:
When the VSCode setting is set to "html.format.wrapAttributes": "force-expand-multiline", it is causing Typescript code to be considered "javascript" in the scopes and is not recognizing things via the lang="ts" attribute.
In this example it is using the correct scopes.
textmate scope for Foo
entity.name.type.interface.ts
meta.interface.ts
source.ts
source.vue
textmate scope for Bar
entity.name.type.alias.ts
meta.type.declaration.ts
source.ts
source.vue
<script setup lang="ts">
export interface Foo {
bar: string;
}
export type Bar = {
foo: string;
}
</script>But when VSCode wraps the script tag attributes (which it did not do before removing Volar using the same html.format.wrapAttributes setting) causes the following to have scopes as:
textmate scope for Foo
entity.name.type.interface.js
meta.interface.js
source.js
source.vue
textmate scope for Bar
entity.name.type.alias.js
meta.type.declaration.js
source.js
source.vue
<script
setup
lang="ts"
>
export interface Foo {
bar: string;
}
export type Bar = {
foo: string;
}
</script>It also does the same for the style blocks. Causing scss scopes to be css.
Additional Problem
Because of this incorrect scope assignment, it causes syntax highlighting issue for VSCode themes using the correct scopes.