我无法获得VS Code(对于Windows,但我认为这并不重要)来查找和打开与当前文件无关的文件。我有一个遵循标准结构的React应用,其中src文件夹位于层次结构的顶部。请参阅下面的附件屏幕截图。
src \ components \ App \ index.js文件包含很多代码,其中包括以下两个导入语句:
import App from './App';
import Routes from 'src/routes/Routes';
打开上面的index.js文件时,我想打开导入语句引用的两个文件。您会注意到,第一个import语句引用的文件路径为“ ./App”,该文件路径以一个句点开始,表示该文件相对于当前文件,而第二个import语句则不是,而是引用了以.root开头的文件路径。以'src /'开头的项目。
VS Code第一次导入没有问题。我右键单击“ ./App”,从弹出的上下文菜单中选择“转到定义”,然后根据需要在新选项卡中打开文件src \ components \ App \ App.js。但是,当我右键单击“ src / routes / Routes”时,VS Code报告“找不到路由定义”。
如果我是从头开始编写代码,则可以通过以相对方式编码第二个导入来解决此问题...
import Routes from '../../routes/Routes';
...但是我没有那个选择。这是一个巨大的企业应用程序,具有数千个源文件和300多个组件,一个典型的文件可能包含20个导入语句。当我阅读代码时,几乎没有任何内容在一个文件中完全定义,我必须浏览一个复杂的文件夹结构以找到导致其他代码的代码,依此类推。在左侧的资源管理器窗口窗格中手动导航并不容易。该应用程序是由顾问组成的,他们都使用WebStorm,可以轻松地跳转到引用的代码,而我试图在VS Code中完成同样的事情。
当我读到有关jsconfig.json(https://code.visualstudio.com/docs/languages/jsconfig)的信息时,我以为自己很感兴趣,我创建了以下文件,并将其放置在src上方的根文件夹中,该文件夹包含src ...
{
"compilerOptions": {
"baseUrl": "src/"
},
"include": ["src/**/*", "./"],
"exclude": ["node_modules"]
}
...但是没有用。无论是否包含“ include”部分,我都尝试过。
总而言之,我不想失去VS Code从相对路径打开文件的本机功能,但我想为其添加功能以打开以'src /'开头的文件。
答案 0 :(得分:1)
好的,我想通了。当我发现 jsconfig.json 时,我在正确的路径上,但我只需要将起始路径定义为点斜线。文件应该写成如下,放在项目的根目录下。
{
"compilerOptions": {
"baseUrl": "./"
},
"include": [
"./"
],
"exclude": [
"node_modules"
]
}