2 votes

tern.js ne charge pas le plugin three.js

Problème

J'essaie actuellement de créer une application web 3D basée sur three.js .

J'utilise neovim comme environnement de développement et YouCompleteMe comme système d'achèvement.

J'ai installé tern pour compléter JS, et j'ai ajouté .tern-project comme ceci.

{
    "libs": [
        "browser",
        "ecmascript",
    ],
    "loadEagerly": [
    ],
    "plugins": {
        "threejs": {}
    }
}

J'ai aussi copié threejs.js y threejs.json dans le répertoire de mon projet généré par tern-threejs .

Cependant, YouCompleteMe ne montre pas de complétion sémantique par rapport à Démonstration du miroir de code de tern-trois-js

Comparaison :

codemirror :

codemirror

neovim :

neovim

Note : Je ne vois pas d'achèvement du tout.

Quel semble être le problème ?

0voto

dNitro Points 3364

threejs.js est une sterne plugin et threejs.json est une sterne bibliothèque Les fichiers de plugins doivent être copiés dans le fichier tern/plugin et les fichiers de la bibliothèque doivent être placés dans le répertoire tern/defs répertoire. Ces deux répertoires existent dans le répertoire tern.

Avec 'YouCompleteMe' installé, le chemin d'accès est le suivant : ~/.vim/YouCompleteMe/third_party/ycmd/third_party/tern-runtime/node‌​_modules/tern . Il vous suffit de copier l'un des fichiers susmentionnés. Le fichier du plugin ou le fichier lib ; et mettre à jour votre .tern-project en conséquence. so :

  1. Assurez-vous d'abord que vous avez activé le compléteur Tern sur YouCompleteMe. Par exemple, sur mon Mac, j'ai dû exécuter ce qui suit :

    cd ~/.vim/bundle/YouCompleteMe
    ./install.py --tern-completer

    A bientôtCompleteMe guide d'installation pour plus de détails sur la façon de le faire sur d'autres environnements.

  2. Copie threejs.js puis naviguer vers

    ~/.vim/YouCompleteMe/third_party/ycmd/third_party/tern-runtime/node‌​_modules/tern/plugin/

    et coller.

  3. Mettez à jour la page de votre projet .tern-project comme suit :

    {
        "libs": [
            "browser",
            "ecmascript",
        ],
        "plugins": {
            "es_modules": {},
            "threejs": {}
        }
    }

    Note que j'ai également inclus es_modules (qui est un plugin livré avec tern lui-même) car vous utilisez le système de modèles de modules ES6.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X