
这是微软(Microsoft)在GitHub上开源的inshellisense项目仓库,专注于为命令行终端提供「IDE风格的自动补全功能」。项目基于[autocomplete](https://github.com/withfig/autocomplete)(支持600+命令行工具的补全规则)开发,是终端原生的运行时工具,支持Windows、Linux、macOS三大平台,帮助开发者在命令行中更高效地输入命令。
核心功能与支持范围
1. 自动补全能力:整合了600+常见命令行工具(如`git`、`npm`、`docker`等)的补全逻辑,提供类似IDE的上下文提示,减少命令记忆负担。
2. 跨Shell支持:兼容多种主流Shell,包括bash、zsh、fish、pwsh(PowerShell Core)、Windows PowerShell、xonsh、nushell,以及实验性支持cmd(命令提示符)。
3. 终端原生体验:无需额外图形界面,直接在终端中运行,补全建议实时显示,不干扰现有命令行工作流。
安装与快速使用
依赖要求
需提前安装Node.js 22.X、20.X或18.X版本(旧版本可能不兼容)。
安装步骤
通过npm全局安装:
“`bash
npm install g @microsoft/inshellisense
“`
验证与启动
安装完成后,运行`is doctor`验证安装是否成功;
直接输入`is`或`inshellisense`即可启动自动补全会话;
若需自动启动(打开Shell时自动加载inshellisense),可执行对应Shell的初始化命令(将插件写入Shell配置文件):
bash:`is init bash >> ~/.bashrc`
zsh:`is init zsh >> ~/.zshrc`
fish:`is init fish >> ~/.config/fish/config.fish`
pwsh/PowerShell:`is init pwsh | AddContent $profile`(PowerShell同理)
xonsh:`is init xonsh >> ~/.xonshrc`
nushell:`is init nu | save $nu.envpath append`
注意:请将inshellisense插件命令放在配置文件末尾,避免被后续命令覆盖。
使用操作与键绑定
基本操作:
启动补全会话:`is`或`inshellisense`;
停止会话:输入`exit`;
检查是否在会话中:`is c`。
默认键绑定(仅当补全建议可见时生效):
接受当前建议:`Tab`;
切换下一条建议:`↓`(下箭头);
切换上一条建议:`↑`(上箭头);
关闭建议列表:`Esc`。
配置自定义
所有配置通过TOML文件管理,支持两种路径:
常规路径:`~/.inshellisenserc`;
XDG合规路径:`~/.config/inshellisense/rc.toml`。
配置文件的JSON Schema可参考仓库内的[config.ts](https://github.com/microsoft/inshellisense/blob/main/src/utils/config.ts)。
自定义键绑定
通过`bindings`字段修改键位,例如默认配置:
“`toml
[bindings.acceptSuggestion]
key = “tab”
shift = false
ctrl = false
[bindings.nextSuggestion]
key = “down”
[bindings.previousSuggestion]
key = “up”
[bindings.dismissSuggestions]
key = “escape”
“`
NerdFonts支持
若使用[NerdFont](https://www.nerdfonts.com/)(patched字体,含图标),可开启图标支持:
“`toml
useNerdFont = true
“`
贡献与合规
贡献要求:提交PR前需签署[Contributor License Agreement (CLA)](https://cla.opensource.microsoft.com),确认授权微软使用贡献内容;
行为准则:遵循[微软开源行为准则](https://opensource.microsoft.com/codeofconduct/),如有问题可联系`opencode@microsoft.com`;
商标说明:使用微软商标需遵守[Microsoft Trademark & Brand Guidelines](https://www.microsoft.com/enus/legal/intellectualproperty/trademarks/usage/general)。
仓库基本信息
Stars:9.5k(截至当前);
Forks:205;
主要语言:TypeScript(84.1%)、Shell(12.0%)、JavaScript(1.9%);
许可证:MIT License(允许自由使用、修改、分发)。
相关导航


SparkAi-渐进式AIGC系统

audio2face-3d Model by NVIDIA | NVIDIA NIM

GitHub – Hillobar/Rope: GUI-focused roop

GitHub – karpathy/llama2.c: Inference Llama 2 in one file of pure C

GitHub – ChenyangSi/FreeU: FreeU: Free Lunch in Diffusion U-Net (CVPR2024 Oral)

GitHub – TaxyAI/browser-extension: Automate your browser with GPT-4
