VS Code从src文件夹打开文件

时间:2020-04-17 21:24:42

标签: javascript reactjs file visual-studio-code

我无法获得VS Code(对于Windows,但我认为这并不重要)来查找和打开与当前文件无关的文件。我有一个遵循标准结构的React应用,其中src文件夹位于层次结构的顶部。请参阅下面的附件屏幕截图。

VS Code Folder Structure from index.js Perspective

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 /'开头的文件。

1 个答案:

答案 0 :(得分:1)

好的,我想通了。当我发现 jsconfig.json 时,我在正确的路径上,但我只需要将起始路径定义为点斜线。文件应该写成如下,放在项目的根目录下。

{
    "compilerOptions": {
        "baseUrl": "./"
    },
    "include": [
        "./"
    ],
    "exclude": [
        "node_modules"
    ]
}