Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Python Auto Update ImportNew to Visual Studio Code? Get it now.
Python Auto Update Import

Python Auto Update Import

jack-duo

|
2 installs
| (0) | Free
自动更新Python文件移动时的导入引用,支持绝对导入和相对导入的智能转换
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Python Auto Update Import

当你在vscode中重构Python项目的时候,是否经常遇到以下问题:移动文件📃,修改文件名📃,移动文件夹📂,修改文件夹名📂,导入引用更新不准确,需要手动调整

这是一个智能的VSCode扩展,用于自动更新Python模块发生变动时的导入引用。支持绝对导入和相对导入的智能转换,让重构Python项目变得轻松无忧。

🖼️ 使用场景

使用场景

开启更新预览开关后,会先展示导入更新预览页面,等待用户确认更新再进行操作 setting.json: 输入 pythonAutoUpdateImport.showPreviewDialog

点击“复制报告”按钮,获取完整的导入更新报告

Python 导入更新报告
==============================
操作: 移动文件夹: tests/b → tests/dev/b
影响文件: 3 个
更新语句: 12 处
创建时间: 2025/8/11 21:19:20

详细更新列表:
--------------------------------------------------

📁 tests/a/a.py
  1. 行1: import b.b → import dev.b.b
  2. 行2: from ..b import b as b_1 → from ..dev.b import b as b_1      
  3. 行3: from b import b as b_2 → from dev.b import b as b_2        
  4. 行4: from ..b.b import B as B_1 → from ..dev.b.b import B as B_1    
  5. 行5: from b.b import B as B_2 → from dev.b.b import B as B_2      

📁 tests/test.py
  1. 行17: import b.b → import dev.b.b
  2. 行18: from ..b import b as b_1 → from ..b import b as b_1   
  3. 行19: from b import b as b_2 → from dev.b import b as b_2    
  4. 行20: from ..b.b import B as B_1 → from ..b.b import B as B_1   
  5. 行21: from b.b import B as B_2 → from dev.b.b import B as B_2    

📁 tests/dev/b/b.py
  1. 行2: from ..a import a as a_1 → from ...a import a as a_1
  2. 行4: from ..a.a import A as A_1 → from ...a.a import A as A_1

配置项

✨ 功能特性

🚀 自动更新关联py文件的导入引用,关联场景:

  • 移动文件,如 📃b.py 移动到 📂/c/b.py
  • 修改文件名,如 📃b.py 修改为 📃b1.py
  • 移动文件夹,如 📂/b 移动到 📂/c
  • 修改文件夹名,如 📂/b 修改为 📂/b1

🎯 多种导入类型支持

  • ✅ 绝对导入: import module / from module import item
  • ✅ 相对导入: from . import item / from ..module import item
  • ✅ 别名导入: import module as alias
  • ✅ 多项导入: from module import item1, item2

🔧 灵活配置

  • 可配置导入根目录: 支持 src/, lib/, app/ 等自定义结构
  • 多层级路径支持: 如 apps/backend/src/ 等复杂项目结构
  • 智能省略根目录: 自动在绝对导入中省略配置的根目录

🛠️ 安装

  1. 在VSCode中打开扩展面板 (Ctrl+Shift+X)
  2. 搜索 "Python Auto Update Import"
  3. 点击安装

或者从 VSCode Marketplace 安装

⚙️ 配置选项

在VSCode设置中搜索 pythonAutoUpdateImport 或直接编辑 settings.json:

{
  "pythonAutoUpdateImport.enabled": true,
  "pythonAutoUpdateImport.importRoots": ["src"],
  "pythonAutoUpdateImport.logLevel": "basic",
  "pythonAutoUpdateImport.showPreviewDialog": true
}

配置说明

pythonAutoUpdateImport.enabled

  • 类型: boolean
  • 默认值: true
  • 说明: 是否启用Python导入自动更新功能

pythonAutoUpdateImport.importRoots

  • 类型: string[]
  • 默认值: ["src"]
  • 说明: Python导入的根目录列表,这些目录在绝对导入路径中会被省略,比如修改src/a/b.py文件名为src/a/b1.py,被其他模块引用为from a.b import var,自动更新的时候会自动更新为from a.b1 import var
  • 示例:
    • ["src"] - 省略src目录
    • ["src", "lib", "app"] - 支持多个根目录
    • ["apps/backend", "apps/frontend"] - 支持多层级路径

pythonAutoUpdateImport.showPreviewDialog

  • 类型: boolean
  • 默认值: true
  • 说明: 是否在更新导入前显示预览确认对话框。设置为false时将自动更新而不需要用户确认

pythonAutoUpdateImport.logLevel

  • 类型: string
  • 可选值: "none", "basic", "verbose"
  • 默认值: "basic"
  • 说明: 日志输出级别
    • none: 无日志输出
    • basic: 基本信息
    • verbose: 详细调试信息

🤝 贡献

欢迎贡献代码!请查看 GitHub仓库 了解更多信息。

📄 许可证

MIT License - 查看 LICENSE 文件了解详情。


享受自动化的Python重构体验! 🐍✨

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft