@@ -186,29 +186,24 @@ if (tsExtension.isActive) {
186
186
else {
187
187
const fs = require ( 'node:fs' ) ;
188
188
const readFileSync = fs . readFileSync ;
189
- const extensionJsPath = require . resolve ( './dist/extension.js' , {
190
- paths : [ tsExtension . extensionPath ] ,
191
- } ) ;
192
- const vuePluginName = require ( './package.json' ) . contributes . typescriptServerPlugins [ 0 ] . name ;
189
+ const extensionJsPath = require . resolve ( './dist/extension.js' , { paths : [ tsExtension . extensionPath ] } ) ;
190
+ const packageJson = require ( './package.json' ) ;
191
+ const vueExtension = vscode . extensions . getExtension ( `${ packageJson . publisher } .${ packageJson . name } ` ) ! ;
192
+ const vuePluginName = 'vue-typescript-plugin-pack' ;
193
+
194
+ vueExtension . packageJSON . contributes . typescriptServerPlugins = [
195
+ {
196
+ name : vuePluginName ,
197
+ enableForWorkspaceTypeScriptVersions : true ,
198
+ configNamespace : 'typescript' ,
199
+ languages : config . server . includeLanguages ,
200
+ } ,
201
+ ] ;
193
202
194
203
fs . readFileSync = ( ...args : any [ ] ) => {
195
204
if ( args [ 0 ] === extensionJsPath ) {
196
205
let text = readFileSync ( ...args ) as string ;
197
206
198
- // patch readPlugins
199
- text = text . replace (
200
- 'languages:Array.isArray(e.languages)' ,
201
- [
202
- 'languages:' ,
203
- `e.name==='${ vuePluginName } '?[${
204
- config . server . includeLanguages
205
- . map ( lang => `'${ lang } '` )
206
- . join ( ',' )
207
- } ]`,
208
- ':Array.isArray(e.languages)' ,
209
- ] . join ( '' ) ,
210
- ) ;
211
-
212
207
// patch jsTsLanguageModes
213
208
text = text . replace (
214
209
't.jsTsLanguageModes=[t.javascript,t.javascriptreact,t.typescript,t.typescriptreact]' ,
0 commit comments