sz-p/vscode-dependencyGraph

功能优化

wyswill opened this issue · 6 comments

希望路径别名能自动根据jsconfig和tsconfig中的path配置自动添加

sz-p commented

接下来

  1. 尝试从./tsconfig .compilerOptions.paths 来获取resolve
    image

  2. 尝试在./**/webpack.config.js .resolve.alias 来获取resolve
    image

但由于打包工具五花八门tsc webpack rollup等等 resolve path 配置项存在的路径并不相同,这里不能保证一定能正确的获取路径别名。

如果可以话请提供下您的别名配置环境、或配置文件。这里会优先支持您当前的情况。

最后,非常感谢您的反馈,这对我帮助很大,祝工作愉快。

你可以从标准的tsconfig的paths入手。jsconfig和tsconfig差不多,两个都一样,
image
这是我的tsconfig文件
image
这是我同步tsconfig到webpack中的alias的方法。你可以参考一下

或者你可以做一个你自己的中间path json文件。把tsconfig、jsconfig和各种打包工具的配置文件都处理成统一的数据结构。也可以做成插件的模式,让用户自己定义config的数据结构。

sz-p commented

或者你可以做一个你自己的中间path json文件。把tsconfig、jsconfig和各种打包工具的配置文件都处理成统一的数据结构。也可以做成插件的模式,让用户自己定义config的数据结构。

这个是有的

目前有两种方式可以修改别名属性,一是通过webview GUI的方式人工输入,另一个可直接修改插件目录下(.dependencygraph/setting.json) setting文件。大致结构如下:

{
  "entryFilePath": "\\src\\main.js",
  "alias": {
    "@": "./src"
  },
  "resolveExtensions": [
    ".js",
    ".jsx",
    ".ts",
    ".tsx",
    ".vue",
    ".scss",
    ".less"
  ]
}

直接修改“alias”字段即可。

sz-p commented

鉴于您目前的需求,这里会优先增加对tsconfigjsconfig的路径别名提取工作。之后会陆续新增对其余打包工具配置项的支持。

sz-p commented

简单增加了对 ts js config中的paths的识别。详情见:d07f277 测试用例见:ece60a0

目前还很简陋,遇到同类需求后会逐步优化。功能已于1.1.3版本发布