Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Linker - Auto Import UpdaterNew to Visual Studio Code? Get it now.
Linker - Auto Import Updater

Linker - Auto Import Updater

Soumen

|
3 installs
| (0) | Free
Automatically updates import statements when you rename or move files and folders. Supports JavaScript, TypeScript, React, Python, Java, Go, and CSS with enhanced diff preview and undo/redo.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🔗 Linker

Intelligent Import Management for Multi-Language Projects

VS Code Marketplace Installs Rating License

Linker Demo

Never break imports again — Automatically update all import statements when you rename or move files and folders.

Features • Installation • Quick Start • Languages • Configuration • Documentation


✨ Features

🎯 Phase 2 - Production Ready

Linker has reached Phase 2 with enterprise-grade features for professional development workflows.

🔄 Smart Import Updates

  • Automatically detect and update imports when files or folders are renamed
  • Works across your entire workspace instantly
  • Preserves your code formatting style (quotes, semicolons, indentation)

📊 Visual Diff Preview

  • See all import changes before applying them
  • Side-by-side or inline diff view with syntax highlighting
  • One-click apply or cancel with full control

⏮️ Complete Undo/Redo System

  • Full history tracking for all import changes
  • Keyboard shortcuts: Ctrl+Alt+Z (undo) / Ctrl+Alt+Y (redo)
  • History preserved across VS Code sessions
  • Configurable history limit (default: 50 entries)

🌐 Multi-Language Support

  • JavaScript/TypeScript — ES6 imports, CommonJS require, dynamic imports
  • Python — import and from...import statements with dot notation
  • Java — Package imports and static imports
  • Go — Single and block import statements
  • CSS/SCSS/LESS — @import and @import url() statements

🎨 Advanced Path Resolution

  • TypeScript path aliases (@/, ~/, custom paths)
  • Relative imports (./, ../)
  • Absolute imports
  • Nested folder structures

⚡ Performance Optimized

  • File caching to avoid redundant reads
  • Batch processing for large codebases
  • Smart debouncing for rapid renames
  • Handles projects with 1000+ files efficiently

🔧 Git Integration

  • Automatic git mv for tracked files
  • Optional auto-staging of modified files
  • Works seamlessly with your Git workflow

📦 Installation

Method 1: VS Code Marketplace (Recommended)

  1. Open Visual Studio Code
  2. Press Ctrl+Shift+X (Windows/Linux) or Cmd+Shift+X (Mac)
  3. Search for "Linker" or "Import Linker"
  4. Click Install

Method 2: Command Line

code --install-extension linkerdev.import-linker

Method 3: Manual Installation

  1. Download the .vsix file from Releases
  2. Open VS Code
  3. Go to Extensions (Ctrl+Shift+X)
  4. Click ... menu → Install from VSIX...
  5. Select the downloaded file

🚀 Quick Start

Basic Usage (3 Steps)

  1. Rename a file or folder in VS Code Explorer

    • Right-click → Rename or press F2
  2. Review the preview showing which imports will be updated

    • Visual diff shows before/after comparison
    • See exactly which files will be modified
  3. Click "Apply" to update all imports

    • All imports updated instantly across your workspace
    • Or click "Cancel" to abort

That's it! ✅ No configuration needed to get started.

Your First Rename

Try this simple example:

  1. Create two files:

    // utils.ts
    export const hello = () => "Hello!";
    
    // app.ts
    import { hello } from './utils';
    
  2. Rename utils.ts → helpers.ts

  3. Watch Linker automatically update app.ts:

    import { hello } from './helpers'; // ✅ Updated!
    

🌐 Supported Languages

JavaScript / TypeScript

// ES6 imports
import { Component } from './Component';
import * as utils from '@/utils';

// CommonJS
const helper = require('../helper');

// Dynamic imports
const module = await import('./module');

Python

# Absolute imports
from utils.helpers import format_date
import utils.helpers

# Relative imports
from .helpers import format_date
from ..utils import helpers

Java

// Package imports
import com.example.utils.Helper;

// Static imports
import static com.example.utils.Helper.doSomething;

Go

// Single imports
import "project/utils"

// Block imports
import (
    "fmt"
    "project/utils"
    "project/helpers"
)

CSS / SCSS / LESS

/* CSS imports */
@import "partials/variables.css";
@import url("partials/mixins.css");

/* SCSS imports */
@import 'base/reset';

⚙️ Configuration

Linker works out-of-the-box with smart defaults. Customize via VS Code Settings (Ctrl+,).

Essential Settings

{
  // File scanning
  "linker.fileExtensions": ["js", "ts", "py", "java", "go", "css"],
  "linker.exclude": ["**/node_modules/**", "**/.git/**"],
  
  // Preview options
  "linker.preview.diffView": true,
  "linker.preview.layout": "side-by-side",
  
  // Formatting preferences
  "linker.formatting.quoteStyle": "auto",
  "linker.formatting.semicolons": "auto",
  
  // History management
  "linker.history.enabled": true,
  "linker.history.maxEntries": 50,
  
  // Language toggles
  "linker.multiLanguage.python": true,
  "linker.multiLanguage.java": true,
  "linker.multiLanguage.go": true,
  "linker.multiLanguage.css": true,
  
  // Git integration
  "linker.autoStageChanges": false
}

Quick Settings Guide

Setting Description Default
fileExtensions File types to scan All supported
exclude Patterns to ignore node_modules, .git
preview.diffView Show visual preview true
preview.layout Diff layout style side-by-side
formatting.quoteStyle Quote preference auto
formatting.semicolons Semicolon usage auto
history.enabled Enable undo/redo true
history.maxEntries History limit 50
autoStageChanges Auto-stage in Git false

See USER_GUIDE.md for detailed configuration options.


📚 Documentation

  • User Guide — Complete documentation with examples

💡 Examples

Example 1: Simple File Rename

Scenario: Rename utils.ts → helpers.ts

// Before
// src/utils.ts
export const formatDate = () => { /* ... */ };

// src/app.ts
import { formatDate } from './utils';

After (Linker auto-updates):

// src/app.ts
import { formatDate } from './helpers'; // ✅ Updated!

Example 2: Folder Rename

Scenario: Rename services/ → api/

// Before
import { fetchUsers } from '../services/userService';

// After (Linker auto-updates)
import { fetchUsers } from '../api/userService'; // ✅ Updated!

Example 3: Python Imports

Scenario: Rename helpers.py → utilities.py

# Before
from utils.helpers import format_date

# After (Linker auto-updates)
from utils.utilities import format_date  # ✅ Updated!

Example 4: Java Package Imports

Scenario: Rename Helper.java → Utility.java

// Before
import com.example.utils.Helper;
import static com.example.utils.Helper.doSomething;

// After (Linker auto-updates)
import com.example.utils.Utility;  // ✅ Updated!
import static com.example.utils.Utility.doSomething;  // ✅ Updated!

Example 5: CSS Imports

Scenario: Rename variables.css → vars.css

/* Before */
@import "partials/variables.css";

/* After (Linker auto-updates) */
@import "partials/vars.css";  /* ✅ Updated! */

⌨️ Keyboard Shortcuts

Action Windows/Linux Mac
Undo last import changes Ctrl+Alt+Z Cmd+Alt+Z
Redo import changes Ctrl+Alt+Y Cmd+Alt+Y
Show import history Ctrl+Shift+P → "Linker: Show History" Same

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.


📝 License

MIT License - see LICENSE file for details.


🆘 Support

  • Issues: GitHub Issues
  • Discussions: GitHub Discussions
  • Documentation: Complete User Guide

🌟 Show Your Support

If Linker saves you time, please:

  • ⭐ Star the GitHub repository
  • ⭐ Rate on VS Code Marketplace
  • 💬 Share with your team

📊 Project Status

Current Version: 1.1.0 (Phase 2)
Status: Production Ready ✅
Languages: 5 (JavaScript/TypeScript, Python, Java, Go, CSS)
Active Development: Yes
Last Updated: November 2025


Made with ❤️ for developers who value their time

⬆ Back to Top

Benefits:

  • ✅ Preserves git file history
  • ✅ Auto-stages modified files
  • ✅ Works seamlessly with git workflows
  • ✅ Better handling of merge conflicts

Exclude Patterns

Skip unnecessary directories to improve performance:

{
  "linker.exclude": [
    "**/node_modules/**",
    "**/.git/**",
    "**/dist/**",
    "**/build/**",
    "**/.next/**",
    "**/coverage/**",
    "**/__tests__/**",
    "**/*.test.{js,ts,jsx,tsx}",
    "**/*.spec.{js,ts,jsx,tsx}"
  ]
}

🐛 Troubleshooting

Imports not updating after rename

Possible causes:

  1. File extension not included in linker.fileExtensions
  2. File excluded by linker.exclude patterns
  3. Unsupported import syntax

Solutions:

  • Check your configuration settings
  • Verify file extension is in the list
  • Reload VS Code window: Ctrl+Shift+P → "Reload Window"
Performance issues with large projects

Solutions:

  1. Increase debounce delay:
    { "linker.performance.debounceDelay": 1000 }
    
  2. Reduce batch size:
    { "linker.performance.batchSize": 25 }
    
  3. Add more exclusion patterns
  4. Disable progress reporting for very large projects
Git auto-stage not working

Checklist:

  • ✅ Ensure linker.git.enabled is true
  • ✅ Ensure linker.git.autoStage is true
  • ✅ Verify file is tracked by Git (not untracked/new)
  • ✅ Check Git is initialized in your project
TypeScript aliases not resolving

Requirements:

  • ✅ tsconfig.json exists in project root
  • ✅ baseUrl is properly configured
  • ✅ paths are properly defined
  • ✅ Alias pattern matches your tsconfig

Try: Reload VS Code window after updating tsconfig.json


📚 Documentation

  • USER-GUIDE.md — Comprehensive user guide with examples
  • CHANGELOG.md — Version history and release notes
  • LICENSE — MIT License

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Report bugs — Open an issue
  2. Request features — Share your ideas
  3. Submit PRs — Fix bugs or add features
  4. Improve docs — Help make documentation better

Development Setup

# Clone the repository
git clone https://github.com/soumen0818/Linker.git
cd Linker

# Install dependencies
npm install

# Build the extension
npm run build

# Run in development mode
# Press F5 in VS Code to open Extension Development Host

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🌟 Support This Project

If you find Linker useful, please consider:

  • ⭐ Star this repository on GitHub
  • 📢 Share it with your team and friends
  • 💬 Leave a review on the VS Code Marketplace
  • 🐛 Report bugs to help improve the extension
  • 💡 Request features you'd like to see

🔗 Links

  • Marketplace: VS Code Marketplace
  • Repository: GitHub
  • Issues: Report a Bug
  • Changelog: View Releases

Made with ❤️ for the developer community

Version 1.0.0 | ⬆ Back to Top

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