You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Neovim(AstroVim)中配置TS文件的绝对路径自动导入?

在AstroVim中配置TypeScript绝对路径自动导入

1. 配置tsconfig.json路径别名

先在项目根目录的tsconfig.json里定义基准路径和别名映射,让TypeScript能解析绝对路径:

{
  "compilerOptions": {
    "baseUrl": "./src", // 把src目录设为路径基准
    "paths": {
      "@/*": ["*"] // 用@/xxx替代src/xxx
    },
    // 保留其他原有编译选项
  }
}

如果你的基准目录是项目根而非src,将baseUrl设为"./",paths改为"@/*": ["src/*"]即可。

2. 确保tsserver识别项目配置

AstroVim默认会让tsserver自动检测tsconfig.json,如果出现路径不识别的情况,可在用户配置文件(~/.config/nvim/lua/user/init.lua)中明确指定根目录检测规则:

return {
  lsp = {
    servers = {
      tsserver = {
        root_dir = require("lspconfig.util").root_pattern("tsconfig.json", "jsconfig.json", ".git"),
      },
    },
  },
}

3. 强制tsserver生成绝对路径导入

通过LSP配置修改tsserver的导入偏好,让自动导入使用绝对路径别名:

return {
  lsp = {
    setup_handlers = {
      tsserver = function(_, opts)
        require("typescript").setup({ server = opts })
        opts.settings = {
          typescript = {
            preferences = {
              importModuleSpecifier = "non-relative", -- 禁用相对路径导入
              importModuleSpecifierEnding = "auto", -- 自动处理文件后缀
            },
          },
          javascript = {
            preferences = {
              importModuleSpecifier = "non-relative",
              importModuleSpecifierEnding = "auto",
            },
          },
        }
      end,
    },
  },
}

如果你的AstroVim未集成typescript.nvim,直接通过lspconfig的tsserver配置添加上述settings即可。

4. 验证效果

重启Neovim后,打开TS文件尝试导入项目内模块,自动导入应该会生成类似import { Component } from "@/Component"的绝对路径语句。

内容的提问来源于stack exchange,提问作者Kiritushka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 05:28:23