VSCode IntelliSense:如何解析 SCSS 模块导入中的路径别名

发布于 2025-01-09 16:56:44 字数 1291 浏览 0 评论 0原文

在 VS Code 中,我希望能够使用 tsconfig.json 中定义的路径别名跳转到其他 SCSS 模块。

我们的 Webpack/Vite 构建设置工作正常(例如通过 sass-loader/options/sassOptions/includePaths Webpack 配置)。我还知道在 PHP Storm 中,可以通过将给定路径设置为资源目录来解析。

但是,到目前为止,我无法找到可以使 VS Code IntelliSense 正常工作的设置、插件或配置。

文件夹结构

  • 模块
    • 组件
      • 组件.tsx
    • 样式
      • styles1.module.scss
      • styles2.module.scss
  • tsconfig.json

styles1.module.scss

.class1 {
  display: flex;
}

Component.tsx - 导入工作正常

import styles1 from '@/styles/styles1.module.scss'; // import + intellisense works fine
import styles2 from '@/styles/styles2.module.scss';

styles2.module.scss - IntelliSense 可以不起作用

@import '@/styles/styles1.module.scss'; 

tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "modules",
    "paths": {
      "@/styles/*": ["styles/*"]
    }
  }
}

感谢任何帮助!谢谢。

VS Code IntelliSense错误

In VS Code I would like to be able to jump into other SCSS modules using path aliases as defined in tsconfig.json.

Our Webpack/Vite build setup works fine (e.g. via sass-loader/options/sassOptions/includePaths Webpack config). And I also know in PHP Storm this is possible by setting the given path to resolve as a Resource Directory.

However, so far I was not able to find a setting, a plugin or configuration that could make this work for VS Code IntelliSense.

Folder Structure

  • modules
    • components
      • Component.tsx
    • styles
      • styles1.module.scss
      • styles2.module.scss
  • tsconfig.json

styles1.module.scss

.class1 {
  display: flex;
}

Component.tsx - Import works fine

import styles1 from '@/styles/styles1.module.scss'; // import + intellisense works fine
import styles2 from '@/styles/styles2.module.scss';

styles2.module.scss - IntelliSense does not work

@import '@/styles/styles1.module.scss'; 

tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "modules",
    "paths": {
      "@/styles/*": ["styles/*"]
    }
  }
}

Any help appreciated! Thanks.

VS Code IntelliSense Error

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

悍妇囚夫 2025-01-16 16:56:44

只需使用 alias-tool 和路径自动完成

https://marketplace.visualstudio.com/items ?itemName=dgeibi.alias-tool
https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete

.vscode/settings.json

{
    "alias-tool.mappings": {
        "@": "${folder}"
    },
    "path-autocomplete.pathMappings": {
         "@": "${folder}"
    }
}

just use alias-tool and Path Autocomplete

https://marketplace.visualstudio.com/items?itemName=dgeibi.alias-tool
https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete

.vscode/settings.json

{
    "alias-tool.mappings": {
        "@": "${folder}"
    },
    "path-autocomplete.pathMappings": {
         "@": "${folder}"
    }
}
小傻瓜 2025-01-16 16:56:44

我尝试了几种方法:

  • 删除.next并重新启动服务器
  • 删除node_modules并安装,重新启动服务器
  • 最后我重新启动vscode,它就工作了。

I try serval ways:

  • remove .next and restart server
  • remove node_modules and install, restart server
  • Finally I just restart vscode and it work.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文