vscode в Windows 10: активация расширения не удалась: модуль не зарегистрировался самостоятельно

Эта проблема поднималась несколько раз, и я перепробовал все предложенные решения, но ничего не помогло.

У меня есть собственный модуль в расширении кода VS. Это очень хорошо работает на Linux + Mac, но я не могу загрузить его в Windows 10. Каждый раз, когда расширение активируется и пытается загрузить собственный модуль, я получаю эту ошибку. Что делает это таким странным, так это то, что собственный модуль прекрасно работает в сеансе узла (в командной строке Win). Я проверил, какую версию NodeJS использует Visual Studio Code, и установил именно эту версию (x86, поскольку vscode все еще 32-битный). Я сделал npm install npm -g, запустил npm rebuild, а также обычный node-gyp rebuild в моей папке расширения (или в папке модуля узла для node-gyp). Каждый раз модуль строится нормально и работает в сеансе узла. Тем не менее я не могу заставить его работать в vscode. Поэтому я считаю, что это должно быть связано с приложением vscode в Windows, просто не знаю, что это такое. Для компиляции я пробовал как VS 2013, так и VS 2015.

Интересно также то, как node-gyp компилирует нативный модуль в Windows. Похоже, что он использует ряд хаков, например. скомпилированный модуль сильно аварийно завершает работу при использовании std::throw_with_nested (функция C++11). Еще одна проблема — это файл win_delay_load_hook.cc, который содержит хак, позволяющий заставить работать какую-то странную ситуацию (эта инициализация не работает в Win 10, поэтому мне пришлось ее отключить, это общая проблема инициализации DLL, не связанная с инициализацией vscode). Так что вполне может быть, что это просто node-gyp на Win10, который вызывает все проблемы. Тем не менее, как я уже писал, собственный модуль прекрасно работает в сеансе узла.

Что еще я могу сделать, чтобы узнать, в чем именно проблема? Есть ли файл журнала, который точно показывает, почему регистрация неверна? Есть ли проблема с vscode вообще в Windows 10?


person Mike Lischke    schedule 18.09.2016    source источник
comment
Я столкнулся с точно такой же проблемой. Проблема, похоже, связана с VS Code, потому что я могу запустить приложение, выполнив node app.js. Вы решили проблему? Любая подсказка?   -  person Mauro Bilotti    schedule 20.02.2018
comment
Ничего не нашел. Тем временем я отказался от написания собственного модуля (также прочитайте предложение от разработчика vscode не использовать собственные модули).   -  person Mike Lischke    schedule 21.02.2018
comment
В моем случае работает путем удаления папки .vscode. Скажите, позволило ли это вам повторно запустить приложение.   -  person Mauro Bilotti    schedule 21.02.2018