visual-studio-code - 如何让相对路径在 VSCode 中可导航
问题描述
我有一个带有 babel 配置的 JS 项目,它被配置为支持相对路径。而不是这样做:
import Class from '../../../../somePath/Class';
以更简洁的方式编写代码:
import Class from 'app/somePath/Class';
babel.config.js
const plugins = [
[require('babel-plugin-module-resolver'), { root: ["./app/"] }],
];
这一切都很好,但我在导航槽文件中遇到了困难。例如,当使用 CMD+单击路径时,导航到文件不适用于相对路径。
有没有办法支持 VSCode 中的相对路径导航?
更新
我尝试了@rioV建议的方法,并将HTML 相关链接配置添加到我的项目中:
myapp/.vscode/settings.json
在项目设置中添加了以下内容:
"html-related-links.include": {
"javascript": [
{ "find": "import [^ ]+ from '((?=app/).+?)';", "filePath": "/$1.js" },
{ "find": "import [^ ]+ from '((?!app/).+?)';", "filePath": "$1.js" }
]
},
用户/settings.json
还包括html-related-links.alwaysShow to true
在用户设置中:
"html-related-links.alwaysShow": true,
"html-related-links.fileroot": [
"./app"
],
单击文件路径时似乎仍然无法导航。
解决方案
您可以使用扩展HTML 相关链接v0.6.0。现在名称不再正确,因为它还可以显示其他文件类型的相关文件。
如果您将以下内容添加到您的project/.vscode/settings.json
"html-related-links.include": {
"javascript": [
{ "find": "import [^ ]+ from '((?=src/).+?)';", "filePath": "/$1.js" },
{ "find": "import [^ ]+ from '((?!src/).+?)';", "filePath": "$1.js" }
]
}
开头的导入src/
相对于文件根文件夹(很可能是工作区根)进行处理。如果您有不同的文件根目录,您还需要修改html-related-links.fileroot
设置。
其他导入(不以 开头src/
)是相对于当前文件的。
因为您使用 JavaScript 文件,所以您还必须html-related-links.alwaysShow
在true
用户设置或(多根)工作区设置中进行设置。
在Explorer View Container 中有一个名为HTML Related Links
. 如果您单击其中一个条目,该文件将被打开(如果它存在)。
从 VSC v1.46 开始,您可以将视图拖放到不同的位置
推荐阅读
- docker - GitLab:将构建映像中的 /builds 挂载为 tmpfs
- time-complexity - 如何计算嵌套循环的时间复杂度?
- visual-studio-2017 - 如何通过 devenv.exe\com 构建具有平台配置的项目?
- latex - 如何摆脱切片中的刻字?
- php - 为什么我无法选择数据库中存在的表?
- blockchain - 主网在 Remix Solidity 智能合约中部署地址数组作为构造函数参数不起作用
- android - 如何按字母顺序排列自定义对象的 ArrayList,其中包含两个不同的字符串?
- fortran - 使用fortran计算均方位移
- sql - 美元符号、逗号、小数位
- sql - 将 Pivot 与子查询一起使用时,列定义不明确