繁体   English   中英

VSCode Intellisense 是否无法使用 webpack 别名自动完成绝对导入?

[英]Is VSCode Intellisense unable to autocomplete absolute imports using webpack aliases?

我有一个 Gatsby 项目,我正在尝试消除复杂的相对导入。 为绝对导入设置别名效果很好,我正在使用gatsby-plugin-alias-importseslint-plugin-import以便这些别名路径在构建期间和 eslint 内解析而不会出现任何错误。

盖茨比-config.js:

...
{
    resolve: 'gatsby-plugin-alias-imports',
    options: {
        alias: {
            '@components': 'src/components',
        },
        extensions: ['.js', '.jsx', '.json'],
    },
},

和 eslintrc.js:

...
settings: {
    react: {
        version: 'detect',
    },
    'import/resolver': {
        alias: {
            map: [
                ['@components', './src/components'],
            ],
            extensions: ['.js', '.jsx', '.json'],
        },
    },
},

但是当我尝试输入新的导入时,VScode 不会自动完成这些路径。 我找到了这个并设置了一个 jsconfig,但没有任何区别: https://code.visualstudio.com/docs/languages/jsconfig#_using-webpack-aliases

jsconfig.json

"compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "baseUrl": ".",
    "paths": {
        "@components/*": ["/src/components"],
    }
},

我在 jsconfig 中的路径设置上尝试了几种不同的变体,我在其他问题上也看到了这些变体,但它们都没有任何区别。 我希望能够在我开始输入时获得一个自动完成弹出窗口,例如,

import Button from '@components/common/Button'

但我什么也没得到。 这是不可能的吗?

附言。 我在 jsconfig.json 中尝试过的更改:

  • 基本网址: "." -> "./"
  • 路径(键): "@components""@components/""@components/*""*"
  • 路径(值): ["src/components/"] , ["src/components/*"] , ["src/*"]

已解决:您不能在同一个 repo 中拥有 tsconfig 和 jsconfig。

我们不小心在非 ts 项目中有一个 tsconfig,这导致 VSCode 完全忽略了 jsconfig。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM