storm plugin node intellij idea for node.js intellij-idea phpstorm webstorm

node.js - plugin - node js in intellij idea



¿Cómo configurar el proyecto WebStorm/PhpStorm para que JS Code Intelligence funcione bien en los proyectos Node.js? (4)

Desafortunadamente no hay una manera fácil "correcta". Puede excluir todos los directorios de node_modules que se encuentran dentro del directorio de node_modules de nivel superior. Hará la terminación mejor, pero no ideal.
Más discusión está aquí: http://devnet.jetbrains.net/message/5468926 .

En WebStorm / PhpStorm / IDEA, hay una gran cantidad de funciones de inteligencia de código para JavaScript incorporado. Sin embargo, al desarrollar una aplicación Node.js, incluido todo desde node_modules complica las cosas con cosas como "Navegar a archivo" (no quiero que el IDE me ofrezca decenas de package.json s de la carpeta node_modules , por ejemplo). Pero excluir la carpeta node_modules tiene sus propios problemas: no hay finalización de código, etc.

Entonces, ¿cuál es la manera "correcta" de abordar esto en WebStorm? ¿Debo incluir solo algunos de los archivos de node_modules ? ¿O excluir todo de allí y usar de alguna manera el concepto de proyecto o bibliotecas globales?

Gracias.



Para hacer esto en la interfaz de usuario (probado desde PyCharm 2.7.3, el resultado se muestra en PhpStorm 6.0.3):

Añadir bibliotecas de JavaScript

Archivo → Configuración
(Configuración del proyecto) → JavaScript → Bibliotecas

[Añadir ...] →

Nombre : node_modules
Visibilidad : [x] Proyecto actual
[Adjuntar...]
{seleccione la carpeta node_modules del proyecto}

{repetir para bower }

Excluir carpeta del proyecto

(Configuración del proyecto) → Estructura del proyecto
Haga clic derecho en la carpeta → [Excluido]

Para hacer esto desde el archivo .iml del proyecto:
Cambiando el .iml del proyecto a lo siguiente:

<?xml version="1.0" encoding="UTF-8"?> <module type="WEB_MODULE" version="4"> <component name="NewModuleRootManager" inherit-compiler-output="true"> <exclude-output /> <content url="file://$MODULE_DIR$"> <excludeFolder url="file://$MODULE_DIR$/bower_components" /> <excludeFolder url="file://$MODULE_DIR$/node_modules" /> </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="node_modules" level="application" /> <orderEntry type="library" name="bower_components" level="application" /> </component> </module>

Provocó que el editor excluya node_modules y bower_components, pero que estén disponibles para completar y buscar en la biblioteca.

Probado en PyCharm, IntelliJ y WebStorm.