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 в моей папке расширения (или папке модуля узла для узла-гипа). Каждый раз, когда модуль хорошо собран и работает в сеансе узла. Тем не менее я не могу заставить его работать в 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). Так что вполне может быть, что это просто нод-гип на Win10, который вызывает все проблемы. Тем не менее, как я уже писал, нативный модуль прекрасно работает в сеансе узла.

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

0 ответов

Другие вопросы по тегам