如何禁用:[js] File是一个CommonJS模块; 它可能会转换为ES6模块

Sun*_*k89 21 visual-studio-code

以下是我要禁用的内容:

[js] File是一个CommonJS模块;  它可能会转换为ES6模块.

我在设置中找不到它.
帮助赞赏,因为这真的很烦人.

icc*_*c97 31

对于使用带有coc.nvim 的Vim 的任何人,您可以通过在:CocConfig对象中添加相同的内容来进行相同的更改:

"javascript.suggestionActions.enabled": false
Run Code Online (Sandbox Code Playgroud)

如果你之前没有添加任何设置:CocConfig,那么你需要确保上面的设置被包裹在一个 JSON 对象中:

{
    "javascript.suggestionActions.enabled": false
}
Run Code Online (Sandbox Code Playgroud)


Cyh*_*eth 31

对于使用 Neovim 与 Native LSP 和nvim-lspconfig来设置语言服务器的任何人,您可以通过在 tsserver 设置中的某个位置添加以下内容来禁用建议:

require('lspconfig').tsserver.setup({
    init_options = {
        preferences = {
            disableSuggestions = true,
        },
    },
})
Run Code Online (Sandbox Code Playgroud)

您还可以使用nvim-lsp-ts-utils插件来过滤掉此特定的诊断消息,同时通过在 tsserver 设置中添加此插件来保持建议启用状态:

require('lspconfig').tsserver.setup({
    on_attach = function(client, bufnr)
        require('nvim-lsp-ts-utils').setup({
            filter_out_diagnostics_by_code = { 80001 },
        })
        require('nvim-lsp-ts-utils').setup_client(client)
    end,
})
Run Code Online (Sandbox Code Playgroud)


小智 22

这是VSCode中添加的一项名为"建议代码操作"的新功能.默认情况下,在JavaScript和TypeScript中启用建议代码操作.您可以通过设置:"typescript.suggestionActions.enabled": false"javascript.suggestionActions.enabled": false在用户/工作区设置中禁用它们.

  • 上面链接的线程最终以"*我不明白为什么关闭.问题存在*"和"*我已经锁定了这个问题因为+1评论导致人们错过了已经有一个解决方案禁用这些提示.*".我不知道微软有什么问题,或者为什么他们故意忽略承认存在问题. (13认同)
  • 遗憾的是,到 2020 年底,这似乎仍然是一个问题 (12认同)
  • 有没有办法只关闭此警告而不是所有建议? (11认同)
  • 在该线程中,没有人问过如何仅关闭针对Node.js文件的es6导入建议的建议。 (3认同)
  • 是的,这有效,谢谢你,虽然只关闭那个警告会很好. (2认同)
  • 2019 年 8 月仍然是一个问题,我发现无法禁用此操作。 (2认同)

Ole*_*evs 10

如果您的项目是"type": "module"并且您需要其中有一个 CommonJS 文件,例如配置 ESLint (在撰写本文时不支持 ESM),那么只需将其重命名为*.jsto *.cjs(或从*.tsto *.cts,如果合适的话),以及建议将会消失。大约一年前,TypeScript 4.5.1 已对此问题进行了修复


the*_*eld 8

警报!对于喜欢智能编码帮助的 VSCode 用户来说,这种方法可能太过分了。将它与其他 linting 和测试实用程序一起用作简单快速的帮助。


所述消息的存在的控制位于Settings => Extensions => TypeScript(打字稿!!!:P)

如屏幕截图所示,我在“设置”中使用关键字“验证”进行搜索,然后单击 TypeScript。这是第一项。

在此处输入图片说明

  • 这是禁用 javascript 的*所有验证*。有点像“把婴儿和洗澡水一起扔出去”的情况。 (3认同)

wea*_*ish 7

实际上,这个烦人的建议来自 TypeScript。

因此,要关闭此建议,您可以修改 TypeScript 的源代码,编译它,然后告诉 vscode 使用您的 TypeScript 分支。

作为一个快速而肮脏的黑客,只需删除与 相关的逻辑ts.Diagnostics.File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module,然后按照 TypeScript 的 README 上的说明编译项目。

编译将失败,因为删除相关逻辑会导致某些函数变得不使用,然后您只需删除那些未使用的函数定义并重新编译项目(gulp clean && gulp local)。

成功编译 TypeScript 的 fork 后,将用户 settings.json 更改为指向您的 vscode fork:

"typescript.tsdk": "/path/to/your/fork/of/TypeScript/built/local",
Run Code Online (Sandbox Code Playgroud)

完毕。

重新启动你的 vscode,烦人的建议就消失了。

您可以检查此提交以查看需要修改哪些 TypeScript 源文件。

警告:修改既快速又脏,使用它们的风险自负。如果你发现任何错误,你可以删除 tsdk 配置,切换回 vscode 的内置 TypeScript。