Skip to content

Why PSCompletions

Problems with PowerShell's Built-in Completion

PowerShell comes with built-in Tab completion, but it has some limitations:

  • Completion menu depends heavily on terminal size — The built-in menu has no scrolling, so if all completion items exceed the terminal's display area, the completion function breaks down completely
  • No completion library — PowerShell doesn't provide a built-in completion library, users need to find or write completion scripts themselves
  • Completion loading impacts terminal startup performance — Traditional approach requires injecting all completion scripts at terminal startup, more completions mean slower startup
  • No dynamic sorting — Completion items are displayed in a fixed order, can't adjust based on usage frequency
  • Lack of unified management — Completions come from different sources, making them difficult to configure and manage consistently

How PSCompletions Solves These Problems

Module Completion Menu

PSCompletions provides a more feature-rich completion menu:

  • Scroll menu — Works regardless of terminal size, can always display the completion menu even if only one item fits, just scroll through
  • Wildcard filtering — Use *, ? and other wildcards to quickly filter items
  • Predict symbols — Use ~, ?, ! symbols to preview behavior before selecting

See Module Completion Menu

Completion Library

PSCompletions includes a built-in completion library covering hundreds of common commands:

  • Dynamic loading — Completion data is loaded on demand. Adding dozens or hundreds of completions has almost no impact on terminal loading speed
  • Ready to usepsc add git to add completions, no extra configuration needed
  • Unified management — All completions managed through psc commands
  • Third-party integration — Supports argc-completions, Carapace, and more

See Completion Library

Dynamic Sorting

Automatically adjusts the display order of completion items based on your command history:

  • Frequently used items appear first
  • Based on PSReadLine command history
  • Works for all completions automatically

See Sort Completion Items

Multilingual Support

Supports multiple languages with easy switching:

  • Currently supports en-US and zh-CN
  • Each completion item has independent multilingual tips
  • Simple and flexible language configuration

See Language

Released under the MIT.