working visual tutorial studio sangria not español code autocompletar node.js express javascript-intellisense visual-studio-code

node.js - tutorial - visual studio code intellisense not working



Cómo importar archivos Intellisense en vsCode(código de Visual Studio) (7)

No estoy seguro de entender cómo funciona intellisense para el nuevo editor de texto vsCode de Microsoft. En los docs bajo el encabezado "Great Code Editing Experience" , muestra una advertencia debajo de la variable global del nodo __dir y ofrece una sugerencia de bombilla para agregar una referencia a un archivo d.ts para que pueda obtener intellisense para el nodo:

Tengo 2 preguntas:

1 - ¿Cómo importo DefinitelyTyped archivos DefinitelyTyped (d.ts) (sin que el editor lo sugiera) o tengo que copiarlos de la fuente github y ponerlos en un directorio de typings?

2 - ¿Puedo obtener intellisense para cualquier biblioteca que tenga una definición mecanografiada? Intenté el siguiente, pero cuando escribo en express. o when. , No entiendo nada de intellisense Sin embargo, obtengo nodo intellisense.

/// <reference path="../typings/node/node.d.ts"/> /// <reference path="../typings/express/express.d.ts" /> var when = require(''when'') , express = require(''express'') , gulp = require(''gulp'')


ACTUALIZACIÓN: agosto de 2016: TSD ahora está depreciado. en su lugar, use https://www.npmjs.com/package/typings

npm install typings --global

O

Si usa VS2015 NodeJS v1.2 lanzado el 29 de julio de 2016, [email protected] se instala automáticamente durante su primer uso:

Executing command ''npm install "C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO 14.0/COMMON7/IDE/EXTENSIONS/MICROSOFT/NODE.JS TOOLS FOR VISUAL STUDIO/1.2/TypingsAcquisitionTool" [email protected] ../../../../../node_modules/ntvs-typings-acquisition-tool ├── [email protected] └── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

----- Respuesta original -----

Hay un administrador de paquetes para archivos de definición de tipo de letra. Este es un repositorio impulsado por la comunidad que contiene definiciones de Typescript para muchas bibliotecas populares.

Puede instalar tsd siguiendo las instrucciones here .

Una vez que instale tsd globalmente, puede instalar paquetes desde su raíz de proyecto en la línea de comandos de esta manera:

$ tsd install express --save

Esto creará un directorio de typings si no existe y agrega un directorio express con un archivo express.d.ts dentro.

También crea un archivo tsd.d.ts que contiene las referencias a todos sus archivos tsd. Si instalo algunas tsd más, esto es lo que parece.

Ahora, para acceder a mis archivos tsd, todo lo que tengo que hacer es hacer referencia a su ruta en la parte superior de mi código con /// <reference path="typings/tsd.d.ts" />

Ahora me hago intellisense.


Compruebe si está trabajando en modo Proyecto explícito (REF: code.visualstudio.com/Docs/languages/… )

¿Que esta pasando?

En el modo de proyecto explícito , VS Code usa los archivos "main.d.ts" en la carpeta de typings para intellisense. Este archivo tendrá referencia a otros archivos de definición y, por lo tanto, la intellisence funciona perfectamente. En mi caso, los main.d.ts se parecen a los siguientes

/// <reference path="main/ambient/express-serve-static-core/index.d.ts" /> /// <reference path="main/ambient/express/index.d.ts" /> /// <reference path="main/ambient/node/index.d.ts" /> /// <reference path="main/ambient/serve-static/index.d.ts" />

En el modo de alcance de archivo , el código VS no verificará las definiciones de typings y, por lo tanto, no intellisence. En tal caso para agregar intellisence, la etiqueta de referencia será útil ya que está refiriendo la definición manualmente. Si se refiere manualmente, remita los main.d.ts bajo los typings en lugar de ir a la definición de una biblioteca específica. Esto hará que su código sea menos denso de referencia.

También tenga en cuenta que el equivalente en texto mecanografiado para jsconfig.json es tsconfig.json, que también configurará el editor en modo Proyecto explícito.


En enero de 2016, el paquete "tsd" quedó en desuso. Use el paquete "typings" en su lugar.

Ver https://github.com/DefinitelyTyped/tsd/issues/269

Y puede encontrar en VS Code (instalación ext) dos extensiones: instalador de tipeo y tipings que ayuda a instalar fácilmente archivos de definición de d.ts del código VS.


Lo que hice fue tocar la bombilla y elegí la opción que decía agregar referencia a node / node.d.ts para el proyecto.

Después de eso, escribí: /// en la parte superior del editor y funcionó para mí.


Obtuve Intellisense Express para trabajar con Express descargando el archivo express.d.ts de https://github.com/borisyankov/DefinitelyTyped , y haciendo referencia a él con una ruta relativa a mi directorio de proyecto:

/// <reference path="express.d.ts"/>

Todavía estoy tratando de encontrar a qué se refiere /typings . También podría ser bueno configurar archivos d.ts como parte de la configuración del proyecto.

Editar:

Lo encontré.

~/Downloads/VSCode-osx ▶ find . -type d -name "typings" ./Visual Studio Code.app/Contents/Resources/app/node_modules/applicationinsights/Scripts/typings

Por lo tanto, tienen paquetes, async y applicationInsights agrupados en el .app de OSX de forma predeterminada. Cualquier otra cosa que desee, supongo que puede incluirla como hice anteriormente.

Editar Editar:

El here mencionado por @kurtcorbett se ve bien, usa eso.


Puede lograr esto con el archivo jsconfig.json después del lanzamiento de abril de 2017.

Muestra del contenido del archivo:

{ "typeAcquisition": { "include": [ "jquery", "underscore" ] } }

Consulte la referencia jsoncifg.json para VSCode here.


Si desea instalar automáticamente las definiciones de tipo para sus paquetes, puede descargar la extensión de instalador automático de Tipos . Verá su package.json y bower.json e instalará automáticamente los tipos para usted.

Creo que la mejor parte de esta extensión es que no tiene que incluir las /// reference líneas de /// reference en su código porque instala los tipos a través de npm.