Skip to content

A common platform for PowerShell development support in any editor or application!

License

Notifications You must be signed in to change notification settings

daviwil/PowerShellEditorServices

 
 

Repository files navigation

PowerShell Editor Services

Build status

PowerShell Editor Services provides common functionality that is needed to enable a consistent and robust PowerShell development experience across multiple editors.

Features

  • The Language Service provides common editor features for the PowerShell language:
    • Code navigation actions (find references, go to definition)
    • Statement completions (IntelliSense)
    • Real-time semantic analysis of scripts using PowerShell Script Analyzer
    • Basic script evaluation
  • The Debugging Service simplifies interaction with the PowerShell debugger (breakpoints, variables, call stack, etc)
  • The Console Service provides a simplified interactive console interface which implements a rich PSHost implementation:
    • Interactive command execution support, including basic use of native console applications
    • Choice prompt support
    • Input prompt support
    • Get-Credential support (coming soon)
  • The Extension Service provides a generalized extensibility model that allows you to write new functionality for any host editor that uses PowerShell Editor Services

The core Editor Services library is intended to be consumed in any type of host application, whether it is a WPF UI, console application, or web service. A standard console application host is included so that you can easily consume Editor Services functionality in any editor using the JSON API that it exposes.

Documentation

Check out our documentation site for information about how to use this project. You can also read our plans for future feature development by looking at the Development Roadmap.

Installation

TODO: Add information about acquiring packages from NuGet and npm once those are available.

Development

1. Install PowerShell if necessary

If you are using Windows, skip this step. If you are using Linux or macOS, you will need to install PowerShell by following these instructions.

2. Clone the GitHub repository:

git clone https://github.com/PowerShell/PowerShellEditorServices.git

3. Install Invoke-Build

This step requires PowerShellGet, included by default with PowerShell v5 and up but installable on PowerShell v3 and v4.

Install-Module InvokeBuild -Scope CurrentUser

Now you're ready to build the code. You can do so in one of two ways:

Building the code from PowerShell

PS C:\path\to\PowerShellEditorServices> Invoke-Build Build

Building the code from Visual Studio Code

Open the PowerShellEditorServices folder that you cloned locally and press Ctrl+Shift+B (or Cmd+Shift+B on macOS).

Contributions Welcome!

We would love to incorporate community contributions into this project. If you would like to contribute code, documentation, tests, or bug reports, please read our [Contribution Guide] (http://powershell.github.io/PowerShellEditorServices/CONTRIBUTING.html) to learn more.

Maintainers

License

This project is licensed under the MIT License.

About

A common platform for PowerShell development support in any editor or application!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 96.7%
  • PowerShell 3.3%