{"id":19080404,"url":"https://github.com/seeminglyscience/editorservicescommandsuite","last_synced_at":"2025-07-12T16:03:05.710Z","repository":{"id":37933812,"uuid":"97396752","full_name":"SeeminglyScience/EditorServicesCommandSuite","owner":"SeeminglyScience","description":"Collection of editor commands for use in PowerShell Editor Services.","archived":false,"fork":false,"pushed_at":"2021-07-29T20:58:26.000Z","size":635,"stargazers_count":157,"open_issues_count":7,"forks_count":13,"subscribers_count":13,"default_branch":"0.5.0","last_synced_at":"2025-07-12T16:02:32.628Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SeeminglyScience.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-16T16:42:17.000Z","updated_at":"2025-06-28T19:37:03.000Z","dependencies_parsed_at":"2022-07-12T17:03:36.337Z","dependency_job_id":null,"html_url":"https://github.com/SeeminglyScience/EditorServicesCommandSuite","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/SeeminglyScience/EditorServicesCommandSuite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2FEditorServicesCommandSuite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2FEditorServicesCommandSuite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2FEditorServicesCommandSuite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2FEditorServicesCommandSuite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SeeminglyScience","download_url":"https://codeload.github.com/SeeminglyScience/EditorServicesCommandSuite/tar.gz/refs/heads/0.5.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SeeminglyScience%2FEditorServicesCommandSuite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265016759,"owners_count":23698368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T02:23:30.509Z","updated_at":"2025-07-12T16:03:05.411Z","avatar_url":"https://github.com/SeeminglyScience.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EditorServicesCommandSuite\n\nEditorServicesCommandSuite is a PowerShell module of editor commands to assist with editing PowerShell scripts in VSCode.\n\nThis project adheres to the Contributor Covenant [code of conduct](https://github.com/SeeminglyScience/EditorServicesCommandSuite/tree/master/docs/CODE_OF_CONDUCT.md).\nBy participating, you are expected to uphold this code. Please report unacceptable behavior to seeminglyscience@gmail.com.\n\n## Features\n\n- Generate markdown help using PlatyPS\n- Implement a .NET interface with PowerShell classes\n- Module maintenance like adding commands to the manifest\n- Suppress PSScriptAnalyzer rules\n- Splat commands\n\n## Documentation\n\nCheck out our **[documentation](https://github.com/SeeminglyScience/EditorServicesCommandSuite/tree/master/docs/en-US/EditorServicesCommandSuite.md)** for a full list of editor commands and what they do.\n\n## Demo\n\n![short-demo](https://user-images.githubusercontent.com/24977523/28244138-20ca292a-69b0-11e7-8c31-4537fc6ef4d9.gif)\n\n## Installation\n\n### Install from the Gallery\n\n```powershell\nInstall-Module EditorServicesCommandSuite -Scope CurrentUser -AllowPrerelease -RequiredVersion 1.0.0-beta4\n```\n\n### Add to Profile (Optional)\n\n```powershell\n# Place this in your VSCode profile\nImport-CommandSuite\n```\n\n```powershell\n# Or copy this command and paste it into the integrated console\npsedit $profile;$psEditor|% g*t|% c*e|% i* \"Import-CommandSuite`n\" 1 1 1 1\n```\n\n## Importing\n\n```powershell\nImport-CommandSuite\n```\n\nThis function will import all editor commands in the module and initialize event handlers.\n\n## Using Editor Commands\n\nCheck out the [Using Editor Commands](http://powershell.github.io/PowerShellEditorServices/guide/extensions.html#using-editor-commands) guide in the PowerShell Editor Services documentation.  I also highly recommend setting up a hotkey for the editor command menu.  Here is mine as an example.\n\n```json\n{ \"key\": \"ctrl+shift+c\",   \"command\": \"PowerShell.ShowAdditionalCommands\",\n                              \"when\": \"editorLangId == 'powershell'\" },\n```\n\n## Settings\n\nThis module is built to be compatible with the project structure from my Plaster template [SSPowerShellBoilerplate](https://github.com/SeeminglyScience/SSPowerShellBoilerplate).  If you prefer a different structure you can configure the paths with a workspace settings file.  You can create a default settings file in the current workspace with the [New-ESCSSettingsFile](./docs/en-US/New-ESCSSettingsFile.md) function.\n\n## Included Commands\n\nAll commands unless otherwise noted target the closest relevant expression.\n\n|Function Name|Editor Command Name|Description|\n|---|---|---|\n|Add-CommandToManifest|Add Closest Function To Manifest|Add a function to the manifest fields ExportedFunctions and FileList|\n|Add-ModuleQualification|Add Module Name to Closest Command|Infers the origin module of the command closest to the cursor and prepends the module name|\n|Add-PinvokeMethod|Insert Pinvoke Method Definition|Searches the pinvoke.net web service for a matching function and creates a Add-Type expression with the signature|\n|ConvertTo-FunctionDefinition|Create New Function From Selection|Generate a function definition expression from current selection|\n|ConvertTo-LocalizationString|Add Closest String to Localization File|Replaces a string expression with a variable that references a localization file, and adds the string to that file|\n|ConvertTo-MarkdownHelp|Generate Markdown from Closest Function|Generate markdown using PlatyPS, add the markdown file to your docs folder, and replace the comment help with an external help file comment.|\n|ConvertTo-SplatExpression|Convert Command to Splat Expression|Create a splat hashtable variable from named parameters in a command and replace the named parameters with a a splat expression.|\n|Expand-Expression|Expand Selection Text to Output|Invoke the currently selected text and replace it with the result.|\n|Expand-MemberExpression|Expand Member Expression|Expands the closest member expression of a non-public member to a reflection statement to access it.  For public methods it will also expand to include parameter name comments.|\n|Expand-TypeImplementation|Expand Closest Type to Implementation|Replace a type expression with a class that implements the .NET class.  Includes methods that are required to be implemented.|\n|Remove-Semicolon|Remove cosmetic semicolons|Remove semi-colons that are at the end of a line, not in a string, and not a part of a property definition in a class.|\n|Set-HangingIndent|Set Selection Indent to Selection Start|Indent selected lines to the start of the selection.|\n|Set-RuleSuppression|Suppress Closest Analyzer Rule Violation|Create a SuppressMessage attribute for the closest rule violation and place it either above the violation if supported or above the param block.|\n|Set-UsingStatementOrder|Sort Using Statements|Sort using statements by type (assembly, module, or namespace) and alphabetically|\n\n## Contributions Welcome!\n\nWe would love to incorporate community contributions into this project.  If you would like to\ncontribute code, documentation, tests, or bug reports, please read our [Contribution Guide](https://github.com/SeeminglyScience/EditorServicesCommandSuite/tree/master/docs/CONTRIBUTING.md) to learn more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseeminglyscience%2Feditorservicescommandsuite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseeminglyscience%2Feditorservicescommandsuite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseeminglyscience%2Feditorservicescommandsuite/lists"}