Skip to content

inshellisense:微软开源的 IDE 风格的命令行自动补全 #224

@jaywcjlove

Description

@jaywcjlove

📋 简介

inshellisense 是一个由 Microsoft 开发的开源工具,用于为各种 shell(命令行终端)提供 IDE 风格的智能自动补全(autocomplete)功能。它作为一个原生终端运行时(runtime),支持超过 600 多种命令行工具,并且可以在 Windows、Linux、macOS 等操作系统上运行。 

核心价值

  • 全面命令补全:支持广泛常用命令(如 git、python、ls 等),以及很多第三方 CLI 工具。 
  • 跨平台支持:兼容主流 shell:bash、zsh、fish、PowerShell、pwsh、xonsh、nushell 等。 
  • 终端原生体验:不像纯 Web 的 autocomplete,inshellisense 在终端中运行,响应及时、集成度高。
  • 配置灵活:通过 ~/.inshellisenserc 或 ~/.config/inshellisense/rc.toml 文件进行定制。 
  • 键绑定可定制:默认按 Tab 接受建议,方向键浏览建议,用 Esc 取消建议,也可以通过配置修改。 

快速上手

  1. 安装
npm install -g @microsoft/inshellisense  
  1. 验证安装

执行 is doctor 命令检查是否正确安装。 

  1. 启动补全会话

在终端中执行 is(或 inshellisense)即可启动。 

  1. 初始化 shell 插件(可选)

比如,在 bash 中运行:

is init bash >> ~/.bashrc  

这样每次打开终端时,会自动启动 inshellisense。 

使用方式

  • 启动:is
  • 退出:exit
  • 检查是否在补全会话中:is -c 
  • 默认键绑定:
  • 接受建议 → Tab
  • 下一个建议 → ↓
  • 上一个建议 → ↑
  • 取消建议 → Esc 

配置说明

  • 配置文件位置:
  • ~/.inshellisenserc
  • 或(在 XDG 环境下)~/.config/inshellisense/rc.toml 
  • 配置内容主要包括:key bindings(键绑定)、建议展示行为、是否启用 NerdFont 字体支持等。默认配置里,Tab 是接受建议键,方向键用于选择建议。 
  • 如果你使用 NerdFont 补丁字体,还可以在配置里打开对应选项。 

支持的 Shell

inshellisense 目前支持:

  • bash
  • zsh
  • fish
  • pwsh(PowerShell core)
  • PowerShell(Windows)
  • cmd(实验性)
  • xonsh
  • nushell 

贡献指南

  • 本项目欢迎贡献与建议。提交 PR 时,你需要同意一个 贡献者许可协议 (CLA)。 
  • 请查看 Code of Conduct,遵守社区规范。 
  • 如果你想新增支持、改进补全规则、添加新的配置选项等,都可以参与。

🔗 链接

https://github.com/microsoft/inshellisense

Metadata

Metadata

Assignees

Labels

weekly投稿分享你自己撰写的文章、软件或资源推荐推荐其他人创建的有用文章、软件或资源

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions