在使用 PHPStorm/Webstorm 多年后,刚刚再次开始使用 Visual Studio 代码工作
我决定进行过渡,只是因为 VSCode 非常轻量级,而且我不想依赖付费服务/在每台计算机上都拥有它,因为 VSCode 几乎无处不在并且免费。
我重新开始
Vite+Vue3
现在我遇到了几个问题 进口 CTRL+单击 - 转到参考 自动完成
我的Vite.config如下 - 启用别名
import { defineConfig } from "vite";
import { fileURLToPath, URL } from "url";
import vue from "@vitejs/plugin-vue";
import path from "path";
// https://vitejs.dev/config/
/// <reference types="vitest" />
export default defineConfig({
resolve: {
extensions: [".js", ".json", ".vue", ".scss", ".css"],
fallback: {
crypto: path.resolve("crypto-browserify"),
stream: path.resolve("stream-browserify"),
},
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
img: path.resolve(__dirname, "./public/img"),
},
},
plugins: [vue()],
test: {},
server: {
port: 8080,
},
build: {
sourcemap: false,
minify: false,
assetsDir: "chunks",
},
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "sass:math"; @import "./src/assets/scss/v2/legacy.scss"; @import "./src/assets/scss/common.scss";`,
},
},
},
});
现在,仅通过 vite 配置,我就可以使用“@”别名导入 - 但没有发生智能感知, I can't autocomplete 进口 nor can I ctrl + click
添加 jsconfig.json 文件后
{
"compilerOptions": {
"target": "ESNext",
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
}
}
我现在可以使用“@”导入我的组件,并且对它们也有完整的智能感知,并且可以按住 CTRL 键并单击它们 但是,现在我失去了导入 node_modules 的能力 - 失去了所有智能感知
所以,如果我使用我的 vite/jsconfig,我可以 ctrl+click/自动完成“@”别名 但我失去了我的node_module导入功能
如果我删除那些 vite.config 别名配置并删除 jsconfig 我找回了 node_module 智能感知,但丢失了项目的智能感知。
我在这里缺少什么?请帮我解决这个问题。
我还删除了任何/每个 npm 导入扩展,以便我能够理解它是如何工作的
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
蜘蛛来爬一爬
https://jiameng.baidu.com/searchContentList?query=%E7%8E%AF%E7%90%83%E5%85%AC%E5%8F%B8%E5%9C%A8%E7%BA%BF%E5%AE%A2%E6%9C%8D%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91https://jiameng.baidu.com/searchContentList?query=%E7%8E%AF%E7%90%83%E5%85%AC%E5%8F%B8%E5%9C%A8%E7%BA%BF%E5%BC%80%E6%88%B7%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91https://jiameng.baidu.com/searchContentList?query=%E7%8E%AF%E7%90%83%E5%85%AC%E5%8F%B8%E5%AE%A2%E6%9C%8D%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91https://jiameng.baidu.com/searchContentList?query=%E7%8E%AF%E7%90%83%E5%85%AC%E5%8F%B8%E5%BC%80%E6%88%B7%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91https://jiameng.baidu.com/searchContentList?query=%E8%85%BE%E9%BE%99%E5%85%AC%E5%8F%B8%E5%BC%80%E6%88%B7%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91https://jiameng.baidu.com/searchContentList?query=%E8%85%BE%E9%BE%99%E5%85%AC%E5%8F%B8%E5%AE%A2%E6%9C%8D%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91https://jiameng.baidu.com/searchContentList?query=%E8%85%BE%E9%BE%99%E5%85%AC%E5%8F%B8%E5%9C%A8%E7%BA%BF%E5%AE%A2%E6%9C%8D%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91https://jiameng.baidu.com/searchContentList?query=%E8%85%BE%E9%BE%99%E5%85%AC%E5%8F%B8%E5%9C%A8%E7%BA%BF%E5%BC%80%E6%88%B7%E3%80%90%E5%BE%AE%E4%BF%A1sr88861%E3%80%91
由于
jsconfig.json文件而出现的问题。目录中存在
jsconfig.json文件表明该目录是 JavaScript 项目的根目录。 jsconfig.json 文件指定 JavaScript 语言服务提供的功能的根文件和选项 (vscode)。大多数时候您不需要它,但有一些示例您可以使用它,例如IntelliSense 自定义。 示例
更多详细信息:
jsconfig.json是tsconfig.json的后代,后者是 TypeScript 的配置文件。jsconfig.json是tsconfig.json,其中"allowJs"属性设置为true并且因为没有实际编译JavaScript 所必需的。这些属性存在是因为jsconfig.json是tsconfig.json的后代(只是)因此,并非所有选项都与
target相同:话虽如此,vscode IntelliSense 可能会受到这些更改的影响。所以如果你删除它,一切都会按预期工作。
换句话说,
target可以在jsconfig.json上影响 IntelliSense。对于您的情况,您只需按以下方式添加:
jsconfig.json
{ "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] } } }vite.config.js
alias: { '@/': path.resolve(__dirname, './src') }有关 vscode 的 jsconfig.json 的更多信息:此处