Auto-Language-Switch (ALS) 是一款专为开发者设计的 VS Code 扩展。它通过智能识别当前光标所在的上下文(代码区域 vs 注释区域),自动切换系统的输入法状态。
- 写代码时:自动切换到 英文 模式。
- 写注释时:自动切换到 中文 模式。
无需频繁敲击 Shift 或 Ctrl+Space,保持心流,专注于编程逻辑本身。
- ⚡ 智能上下文感知:基于 VS Code 的语法分析,精确判断光标是在编写代码、字符串还是注释。
- 🛠️ 零门槛配置:内置
ALS: Setup Wizard向导,自动扫描并列出系统已安装的输入法,点击即可完成绑定,无需手动查找复杂的键盘布局 ID (HKL)。 - 🚀 高性能 Sidecar:核心逻辑由 Rust 编写的本地 Sidecar 进程驱动,直接调用 Windows Win32 API,内存占用极低,切换响应毫秒级。
- 🌐 多语言支持:完美支持 C/C++, Java, Python, JavaScript, TypeScript, Go, Rust, Vue, HTML, CSS 等主流编程语言。
- 操作系统: Windows 10 / 11 (由于依赖 Win32 API,目前仅支持 Windows)。
- 编辑器: Visual Studio Code 1.80.0 或更高版本。
- 前往本项目的 Releases 页面 下载最新的
.vsix安装包。 - 打开 VS Code,点击左侧扩展图标 (Extenstions)。
- 点击右上角
...菜单,选择 从 VSIX 安装... (Install from VSIX...)。 - 选择下载的文件即可。
如果您希望体验最新开发版,请参考下方的 开发构建 章节。
插件安装后,必须告诉插件哪一个是您的“英文输入法”,哪一个是“中文输入法”。
- 按
Ctrl+Shift+P打开命令面板。 - 输入并执行命令:
ALS: Setup Wizard。 - 根据提示选择:
- Select English Layout: 选择您的纯英文键盘(如 English US)。
- Select Chinese Layout: 选择您的中文输入法(如 微软拼音、搜狗输入法等)。
- 配置即刻生效。
您也可以在 settings.json 中手动填写输入法的 HKL (Hex ID):
{
"autoLanguageSwitch.englishLayout": "04090409", // 例如:English (US)
"autoLanguageSwitch.chineseLayout": "08040804" // 例如:Chinese (Simplified)
}如果需要暂时禁用自动切换功能,可执行命令:
ALS: Toggle Active/Inactive
本项目采用 Client-Sidecar 架构:
vscode-extension/: 插件前端 (TypeScript/Node.js)native-sidecar/: 核心后端 (Rust)
- Node.js (建议 v18+)
- Rust Toolchain (Cargo)
-
克隆项目
git clone https://github.com/Cherry-CJQ/Auto-Language-Switch.git cd Auto-Language-Switch
-
一键构建 (包含 Rust 编译和 TS 编译) 进入插件目录并运行预发布脚本:
cd vscode-extension npm install npm run vscode:prepublish说明: 该命令会自动调用
cargo build --release编译 Rust 后端,并将生成的.exe复制到插件的bin/目录下。 -
调试运行
- 在 VS Code 中打开项目根目录。
- 按
F5启动调试。这将打开一个新的 VS Code 窗口 (Extension Development Host),其中已加载了您的插件。
.
├── native-sidecar/ # Rust 项目:负责调用 Win32 API 切换输入法
├── vscode-extension/ # VS Code 插件:负责监听编辑器事件与 Sidecar 通信
├── docs/ # 设计文档 (PRD, Architecture)
└── README.md # 说明文档
本项目基于 MIT License 开源。