Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

303
Views
Después de actualizar vscode-languageclient, mi extensión de Visual Studio Code ya no compila

Estoy desarrollando una extensión de Visual Studio Code (languageserver) y funcionó perfectamente bien. Sin embargo, para utilizar las funciones más recientes del servidor de idiomas, actualicé vscode-languageclient a la última versión V7.0.0

 npm install vscode-languageclient

Después de eliminar las carpetas node_modules y out, y volver a compilar con

 npm install npm build npm run compile

Recibo una TONELADA de errores de compilación. Para mostrar solo algunos:

 node_modules/vscode-languageclient/lib/common/callHierarchy.d.ts:1:75 - error TS2305: Module '"vscode"' has no exported member 'CallHierarchyItem'. 1 import { Disposable, TextDocument, ProviderResult, Position as VPosition, CallHierarchyItem as VCallHierarchyItem [...] node_modules/vscode-languageclient/lib/common/callHierarchy.d.ts:1:116 - error TS2305: Module '"vscode"' has no exported member 'CallHierarchyIncomingCall'. 1 import { Disposable, TextDocument, ProviderResult, Position as VPosition, CallHierarchyItem as VCallHierarchyItem, CallHierarchyIncomingCall as VCallHierarchyIncomingCall [...]

Estoy seguro de que me estoy perdiendo algo importante aquí, pero no tengo idea de qué. Por cierto, el comportamiento es el mismo en Linux y Windows. Tal vez alguien tuvo un problema similar o sabe lo que estoy haciendo mal. ¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Como de costumbre, después de hacer la pregunta lo descubrí casi de inmediato.

No eliminé el archivo package-lock.json . Esta fue la razón de la tonelada de mensajes de error. Conduce a algún tipo de desajuste/inconsistencia de la versión en la base del código. Entonces, eliminarlo antes de ejecutar npm install solucionó este problema.

Luego, sin embargo, el archivo src/extension.ts con la async function activate() adentro mostró algunos errores. La solución aquí, además de seguimientos menores, es cambiar

 import { LanguageClient, LanguageClientOptions, ...} from 'vscode-languageclient';

para

 import { LanguageClient, LanguageClientOptions, ...} from 'vscode-languageclient/node';
over 4 years ago · Santiago Trujillo Report

0

Solo una respuesta de seguimiento, ya que este problema aparentemente ocurre con mucha frecuencia: a partir de la versión 7.0.0 del paquete vscode-languageclient, la base de código se dividió en "común", "nodo" y "navegador".

divida el código en común, nodo y navegador para permitir el uso de los módulos npm de servidor y cliente LSP en un navegador web a través de webpack. Este es un cambio importante y podría generar errores de compilación/tiempo de ejecución si no se adopta. Cada módulo tiene ahora tres exportaciones diferentes que representan la división en común, nodo y navegador. Veamos vscode-jsonrpc para ver un ejemplo: (a) import vscode-jsonrpc solo importará el código común, (b) import vscode-jsonrpc\node importará el común y el código de nodo y (c) import vscode -jsonrpc\browser importará el código común y del navegador.

Fuente: https://github.com/microsoft/vscode-languageserver-node#3160-protocol-600-json-rpc-700-client-and-700-server

Los documentos desactualizados todavía están flotando y puede que no sea obvio que "npm install vscode-languageclient" le proporcionará la última versión que no coincide con la documentación anterior.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!