描述这个功能请求
InputTip Cursor Sync
InputTip Cursor Sync 是一个运行在 Windows 上的 VS Code 扩展,用于根据当前输入状态自动切换编辑器光标颜色。
CN:中文输入状态
EN:英文输入状态
Caps:Caps Lock 已开启
扩展本身不直接读取 IME 状态,而是监听系统临时目录中的一个状态文件,并在状态变化时更新 workbench.colorCustomizations.editorCursor.foreground。
工作原理
- 外部脚本将当前输入状态写入
%TEMP%\inputtip-vscode-state.txt
- 扩展持续监听这个文件
- 当文件内容变成
CN、EN 或 Caps 时,扩展立即更新光标颜色
这种设计把 IME 检测交给更适合处理 Windows 输入法状态的外部工具,VS Code 扩展侧只负责读取状态并应用颜色。
运行要求
- Windows
- VS Code
1.85.0 或更高版本
- 一个持续写入
%TEMP%\inputtip-vscode-state.txt 的后台脚本
安装
- 打开 VS Code
- 打开扩展管理器(
Ctrl + Shift + X),搜索 InputTip Cursor Sync 并安装
配置项
扩展提供以下三个配置项:
inputTipCursorSync.cnColor:输入状态为 CN 时的光标颜色
inputTipCursorSync.enColor:输入状态为 EN 时的光标颜色
inputTipCursorSync.capsColor:输入状态为 Caps 时的光标颜色
默认值如下:
{
"inputTipCursorSync.cnColor": "#ff4d4f",
"inputTipCursorSync.enColor": "#4096ff",
"inputTipCursorSync.capsColor": "#52c41a"
}
与 InputTip 集成
如果你正在使用 InputTip 和 AutoHotkey,可以创建一个 plugins/custom-ime-sync.ahk 文件,然后在主插件文件中引入它。
示例:
global __sync_last_state := ""
global __sync_file := A_Temp "\inputtip-vscode-state.txt"
SetTimer(BroadcastImeState, 50)
BroadcastImeState() {
global __sync_last_state, __sync_file
try {
if (GetKeyState("CapsLock", "T")) {
state := "Caps"
} else {
state := isCN() ? "CN" : "EN"
}
if (state = __sync_last_state) {
return
}
__sync_last_state := state
if FileExist(__sync_file) {
FileDelete(__sync_file)
}
FileAppend(state, __sync_file, "UTF-8")
}
}
然后在 InputTip.plugin.ahk 中加入:
#Include custom-ime-sync.ahk
注意事项
- 扩展会更新全局配置
workbench.colorCustomizations
- 如果其他扩展或你自己的设置也在修改
editorCursor.foreground,则以最后一次写入为准
- 如果状态文件不存在,扩展不会报错,只会等待有效状态出现
- 当前只识别
CN、EN 和 Caps
故障排查
光标颜色没有变化
请检查以下几点:
%TEMP%\inputtip-vscode-state.txt 是否存在
- 文件内容是否严格等于
CN、EN 或 Caps
- 外部脚本是否仍在运行
- 扩展是否已在 VS Code 中安装并启用
License
当前仓库还没有包含 LICENSE、LICENSE.md 或 LICENSE.txt。如果你准备公开发布,建议先补齐许可证文件。
你正在使用什么 Windows 系统版本?
Windows 11
还有其他你想要补充的信息吗?
希望大家用的开心。
描述这个功能请求
InputTip Cursor Sync
InputTip Cursor Sync是一个运行在 Windows 上的 VS Code 扩展,用于根据当前输入状态自动切换编辑器光标颜色。CN:中文输入状态EN:英文输入状态Caps:Caps Lock已开启扩展本身不直接读取 IME 状态,而是监听系统临时目录中的一个状态文件,并在状态变化时更新
workbench.colorCustomizations.editorCursor.foreground。工作原理
%TEMP%\inputtip-vscode-state.txtCN、EN或Caps时,扩展立即更新光标颜色这种设计把 IME 检测交给更适合处理 Windows 输入法状态的外部工具,VS Code 扩展侧只负责读取状态并应用颜色。
运行要求
1.85.0或更高版本%TEMP%\inputtip-vscode-state.txt的后台脚本安装
Ctrl + Shift + X),搜索InputTip Cursor Sync并安装配置项
扩展提供以下三个配置项:
inputTipCursorSync.cnColor:输入状态为CN时的光标颜色inputTipCursorSync.enColor:输入状态为EN时的光标颜色inputTipCursorSync.capsColor:输入状态为Caps时的光标颜色默认值如下:
{ "inputTipCursorSync.cnColor": "#ff4d4f", "inputTipCursorSync.enColor": "#4096ff", "inputTipCursorSync.capsColor": "#52c41a" }与 InputTip 集成
如果你正在使用
InputTip和AutoHotkey,可以创建一个plugins/custom-ime-sync.ahk文件,然后在主插件文件中引入它。示例:
然后在
InputTip.plugin.ahk中加入:注意事项
workbench.colorCustomizationseditorCursor.foreground,则以最后一次写入为准CN、EN和Caps故障排查
光标颜色没有变化
请检查以下几点:
%TEMP%\inputtip-vscode-state.txt是否存在CN、EN或CapsLicense
当前仓库还没有包含
LICENSE、LICENSE.md或LICENSE.txt。如果你准备公开发布,建议先补齐许可证文件。你正在使用什么 Windows 系统版本?
Windows 11
还有其他你想要补充的信息吗?
希望大家用的开心。