Vietnamese IME Helper for VS Code
A VS Code extension that solves Vietnamese (and other IME languages like Japanese, Chinese) input issues in CLI applications like Auggie/Claude running in VS Code terminal on Windows.
Problem
When typing Vietnamese directly in VS Code terminal on Windows, you often encounter:
- Missing diacritics (accents)
- Question marks "?" appearing instead of Vietnamese characters
- Mojibake (garbled text)
- IME not working properly in terminal
Solution
This extension provides a safe input bridge that:
- Offers IME-compatible input methods (InputBox and Text Pad)
- Automatically sends your text to the active terminal
- Preserves all Vietnamese characters perfectly
- Works with any CLI application (Auggie, Claude, etc.)
Features
Quick InputBox (Alt+I)
- Simple popup input box
- Perfect for short commands/questions
- IME works flawlessly
- Automatically focuses terminal and pastes text
- You can edit the text in terminal before pressing Enter
Advanced Text Pad (Alt+P)
- Rich webview-based editor
- Multi-line text support
- Input history with click-to-reuse
- Character counter
- Enter to paste (Shift+Enter for new line)
- File suggestions: Type @ to get intelligent file/folder suggestions
- Enhance Prompt: Copy text and open Quick Open (Ctrl+P)
- Automatically focuses terminal and pastes text
- You can edit the text in terminal before pressing Enter
🎯 File Suggestions Feature
- Type
@
anywhere to trigger file suggestions
- Type
@node_modules/
to browse inside folders
- Use arrow keys to navigate suggestions
- Press Enter or click to select
- Shows folders (📁) and files (📄) with relative paths
- Displays top 10 relevant files with "more" option
🚀 Smart Terminal Integration
- Auto-detects active terminal
- Smart Auggie/Claude detection with optimized sending behavior
- Configurable delay for Auggie compatibility (prevents input conflicts)
- Force Auggie mode for all terminals when needed
- Status display to check current mode and settings
- Works with any CLI application
- No interference with terminal functionality
📝 History Management
- Automatic input history saving
- Click history items to reuse
- Configurable history size (default: 50 items)
- Clear history option
⚙️ Customizable Settings
- Enable/disable notifications
- Configure history settings
- Customize keyboard shortcuts
- Auto-detection preferences
Installation
From VSIX (Recommended)
- Download the
.vsix
file
- Open VS Code
- Press
Ctrl+Shift+P
- Type "Extensions: Install from VSIX"
- Select the downloaded
.vsix
file
From Source
- Clone this repository
- Run
npm install
- Run
npm run compile
- Press
F5
to launch extension development host
Usage
Basic Workflow
- Start your CLI application (e.g.,
auggie
) in VS Code terminal
- Use input methods when needed:
- Press
Alt+I
for quick InputBox
- Press
Alt+P
for advanced Text Pad
- Type Vietnamese text safely with full IME support
- Send to terminal - text appears in your CLI application
Keyboard Shortcuts
Shortcut |
Action |
Context |
Alt+I |
Open InputBox |
When terminal focused |
Alt+P |
Open Text Pad |
When terminal focused |
Ctrl+Enter |
Send text (in Text Pad) |
In Text Pad |
Commands (Ctrl+Shift+P)
Command |
Description |
Vietnamese IME: Open Input Box |
Quick input for short text |
Vietnamese IME: Open Text Pad |
Advanced input for longer text |
Vietnamese IME: Toggle Auggie Mode |
Force Auggie mode on/off |
Vietnamese IME: Show Status |
Display current terminal and mode info |
Text Pad Features
- Multi-line editing: Perfect for long prompts
- History panel: Click any previous input to reuse
- Character counter: Track your text length
- Clear buttons: Clear current text or entire history
- Auto-save: History persists between sessions
Configuration
Access settings via File > Preferences > Settings
and search for "Vietnamese IME Helper":
{
// Basic settings
"vietnameseImeHelper.autoDetectAuggie": true,
"vietnameseImeHelper.showNotifications": true,
"vietnameseImeHelper.padHistory": true,
"vietnameseImeHelper.maxHistoryItems": 50,
// Auggie-specific settings
"vietnameseImeHelper.auggieDelay": 100,
"vietnameseImeHelper.forceAuggieMode": false,
// Keyboard shortcuts
"vietnameseImeHelper.inputBoxShortcut": "alt+i",
"vietnameseImeHelper.textPadShortcut": "alt+p",
"vietnameseImeHelper.sendShortcut": "ctrl+enter"
}
Auggie/Claude Compatibility Settings
Setting |
Default |
Description |
auggieDelay |
100 |
Delay in milliseconds before sending Enter (0-2000ms) |
forceAuggieMode |
false |
Force Auggie mode for all terminals |
autoDetectAuggie |
true |
Auto-detect Auggie/Claude CLI applications |
Supported Languages
While designed for Vietnamese, this extension works with any IME-based language:
- 🇻🇳 Vietnamese
- 🇯🇵 Japanese (Hiragana, Katakana, Kanji)
- 🇨🇳 Chinese (Simplified/Traditional)
- 🇰🇷 Korean
- And any other IME language
Troubleshooting
Auggie/Claude Specific Issues
Auggie doesn't receive your Vietnamese messages:
- Increase the delay: Set
auggieDelay
to 200-500ms in settings
- Force Auggie mode: Enable
forceAuggieMode
setting
- Check status: Use "Show Status" command to verify current mode
- Ensure terminal focus: Click on terminal before sending text
Text is sent too quickly:
- Increase
auggieDelay
setting (try 300-500ms)
- The delay gives Auggie time to process input properly
Want to disable Auggie mode completely:
- Set
autoDetectAuggie
to false
- Set
forceAuggieMode
to false
- Extension will use standard mode for all terminals
General Issues
Extension not working:
- Ensure you have an active terminal
- Try reloading VS Code window (
Ctrl+Shift+P
> "Reload Window")
Shortcuts not working:
- Make sure terminal is focused when pressing shortcuts
- Check for conflicting keybindings in VS Code
Text not appearing in terminal:
- Verify the terminal is active and responsive
- Try typing directly in terminal first to ensure it's working
Future Enhancements
- 🔍 Auto-detect specific CLI applications
- 📋 Predefined templates/macros
- 🎨 Customizable Text Pad themes
- 📊 Usage statistics
- 🔄 Sync settings across devices
Contributing
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
MIT License - see LICENSE file for details
Support
If you encounter issues or have suggestions:
- Create an issue on GitHub
- Include VS Code version and OS details
- Describe the problem with steps to reproduce
Made with ❤️ for the Vietnamese developer community