inshellisense

microsoftMIT活跃维护

给终端里的 shell 加上 IDE 风格的命令自动补全,支持 bash、zsh、fish、PowerShell 等多种 shell,补全命令和参数时不用再死记硬背。

IDE style command line auto complete

0.0.4发布于 2026-09-11 20:34 UTC10,766star +8 / 7 天262fork同步于 2026-11-10 05:29 UTC

怎么上手

从 README 代码块原样提取,可能是其中一种安装方式
npm install -g @microsoft/inshellisense
brew tap microsoft/inshellisense https://github.com/microsoft/inshellisense
brew install inshellisense
npm install -g @microsoft/inshellisense # OR brew upgrade inshellisense
硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本0.0.4
  1. 0.0.4最新正式版2026-09-11 · 2026-09-11 20:34 UTC

    What's Changed

    New Contributors

    Full Changelog: https://github.com/microsoft/inshellisense/compare/0.0.3...0.0.4

  2. 0.0.32026-08-11 · 2026-08-11 02:54 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/microsoft/inshellisense/compare/0.0.2...0.0.3

  3. 0.0.22026-07-29 · 2026-07-29 22:28 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/microsoft/inshellisense/compare/0.0.1...0.0.2

  4. 0.0.12026-03-22 · 2026-03-22 02:30 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/microsoft/inshellisense/compare/0.0.1-rc.31...0.0.1

  5. 0.0.1-rc.31pre-release2026-01-25 · 2026-01-25 23:38 UTC
    查看更新说明

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    inshellisense

    inshellisense provides IDE style autocomplete for shells. It's a terminal native runtime for autocomplete which has support for 600+ command line tools. inshellisense supports Windows, Linux, & macOS.

    Getting Started

    Installation

    npm (recommended)

    npm install -g @microsoft/inshellisense
    is init
    

    homebrew (macOS/linux)

    brew tap microsoft/inshellisense https://github.com/microsoft/inshellisense
    brew install inshellisense
    is init
    

    Updating

    npm install -g @microsoft/inshellisense # OR brew upgrade inshellisense
    is reinit
    

    Quickstart

    After completing the installation, run is doctor to verify your installation was successful. You can run is to start the autocomplete session for your desired shell. Additionally, inshellisense is also aliased under inshellisense after installation.

    Shell Plugin

    If you'd like to automatically start inshellisense when you open your shell, run the respective command for your shell. After running the command, inshellisense will automatically open when you start any new shell session:

    # bash
    is init bash >> ~/.bashrc
    
    # zsh
    is init zsh >> ~/.zshrc
    
    # fish
    is init fish >> ~/.config/fish/config.fish
    
    # pwsh
    is init pwsh | Add-Content $profile
    
    # powershell
    is init powershell | Add-Content $profile
    
    # xonsh
    is init xonsh >> ~/.xonshrc
    
    # nushell
    is init nu | save $nu.env-path --append
    

    [!NOTE]
    When updating your shell configuration in the future, make sure the inshellisense plugin is the last command in the file. Including commands after it may break the configuration (ex. initializing your shell plugin manager after the inshellisense plugin)

    Usage

    ActionCommandDescription
    StartisStart inshellisense session on the current shell
    StopexitStop inshellisense session on the current shell
    Check If Inside Inshellisense Sessionis -cCheck if shell inside inshellisense session
    Keybindings

    All other keys are passed through to the shell. The keybindings below are only captured when the inshellisense suggestions are visible, otherwise they are passed through to the shell as well. These can be customized in the config.

    ActionKeybinding
    Accept Current Suggestiontab
    View Next Suggestion↓
    View Previous Suggestion↑
    Dismiss Suggestionsesc

    Integrations

    inshellisense supports the following shells:

    Configuration

    All configuration is done through a toml file. You can create this file at ~/.inshellisenserc or $XDG_CONFIG_HOME/inshellisense/rc.toml. When XDG_CONFIG_HOME is unset, empty, or not an absolute path, the XDG configuration path defaults to ~/.config/inshellisense/rc.toml. The JSON schema for the configuration file can be found here.

    On new Unix-like installations, generated resources are stored under $XDG_DATA_HOME/inshellisense. When XDG_DATA_HOME is unset, empty, or non-absolute, it defaults to ~/.local/share as defined by the XDG specification. Existing installations continue using ~/.inshellisense when that directory is present so current shell plugins keep working; Windows also keeps using that location. Running is reinit migrates legacy resources to the XDG data directory.

    Keybindings

    You can customize the keybindings for inshellisense by adding a bindings section to your config file. The following is the default configuration for the keybindings:

    [bindings.acceptSuggestion]
    key = "tab"
    # shift and control are optional and default to false
    shift = false
    control = false
    
    [bindings.nextSuggestion]
    key = "down"
    
    [bindings.previousSuggestion]
    key = "up"
    
    [bindings.dismissSuggestions]
    key = "escape"
    

    Key names are matched against the Node.js keypress events.

    Alias Expansion

    Inshellisense supports expanding aliases for bash/zsh shells. You can enable alias expansion in your config file:

    useAliases = true
    

    Generated Spec Caching

    Generated root specs are cached by spec and working directory while you edit a prompt. The cache is cleared between prompts, and specs with cache: false always regenerate. Argument suggestion generators continue to refresh according to their own settings. Failed or cancelled spec generation is not cached.

    Caching is enabled by default. To regenerate root specs on every completion request, add this top-level setting to your config file:

    cacheGeneratedSpecs = false
    

    NerdFonts

    If you are using a NerdFont patched font, you can enable the NerdFonts support in your config file:

    useNerdFont = true
    

    Suggestion and description size

    Defaults for these top-level config options:

    maxSuggestions = 5
    descriptionWidth = 30
    descriptionHeight = 5
    truncateDescriptions = true
    

    Width includes borders; height counts text rows.

    Set truncateDescriptions = false to grow descriptions proportionally, then along the remaining dimension. Text is still truncated if it cannot fit.

    Active Suggestion Background Color

    You can customize the active suggestion's background with a #RRGGBB hex color.

    activeSuggestionBackgroundColor = "#2E7D32"
    

    Box Border Style

    You can use square (the default) or rounded corners for suggestion and description boxes.

    boxBorderStyle = "rounded"
    

    Unsupported Specs

    Specs for the az, gcloud, & aws CLIs are not supported in inshellisense due to their large size.

    Contributing

    This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

    When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

    This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

    Trademarks

    This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.