PowerShell / PowerShell/PowerShellEditorServices

Add new commands for Find\Install Editor Commands

未关闭
#644 13 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

Area-psEditor Issue-Discussion
主要语言
C#
星标
767
派生
266
平均合并
3 天 16 小时
30 天内合并 PR
1

描述

I want to add some new commands that should make discovering and installing new Editor Commands or modules with them easier. One of the easiest ways we could do this is by writing wrappers around Find-Module and Install-Module. Just change it to only find modules with a particular tag or set of tags.

Editor Commands are a great feature of PSES, but they don't get a lot of attention and are often overlooked. I think if we put some effort into making them easier to use, easier to find, and easier to share, we would start to see more adoption.

Things that I was wanting to discuss and get community feedback on:

What Tag or Tags would be best?

Ex: EditorCommand, EditorCommands, PSES?

What is the best user experience?

In the short term, I could create Editor Command\Commands for Find-EditorCommand and Install-EditorCommand that would tie into the Show Additional Command menu and use the command palette to prompt for user input and prompt users with lists of found modules. Maybe something where it is an Editor Command to Install Editor Commands, and it prompts for a name, displays results in command palette, and then installs the module the user selects in the command palette. However, that really should be just for the short term

Ideally, it is better to have this at the root level. Long term, I think it would be best if this could tie in with an actual GUI and allow users a similar experience to installing extensions. I have not kept up with how far they have come with their webview features, but maybe that could be an option. I also don't know what aspects would be PSES and what would be VSCode Extension.

FInd-Module and listing Editor Commands in the module

It is one thing to list modules with Editor Commands inside, but could we also figure out a way to show what Editor Commands are inside the module and have those get returned by Find-Module? I have not really played around with the metadata enough to know if you can add custom fields and those get passed back. The other issue would be how would you educate people on how to do this.

Is there a standard for importing Editor Commands?

When I first worked with @daviwil on this 2+ years ago, the idea was to conditionally load these by checking for the $psEditor variable. If the module was imported and it was running inside of Code, then it would auto register the Editor Commands. I know @SeeminglyScience uses another method, but I haven't looked into it enough to see what he's doing.

This could be something that could eventually be controlled by a GUI or config, but I am not sure how that will end in the long run. I think the majority of people stick to the defaults and never really go in and tweak the configs of editors, and it could lead to less adoption. Maybe have autoload as the default, and allow for override via config of GUI as an option.

Why now?

I think now is a great time to start pushing and making an effort to get people using Editor Commands. I tried early on, and it was really bad timing. David was pushing hard to get the integrated terminal working, and when he finally did, it pretty much set Editor Commands back a long way. I had to stop pushing people to them due to the Integrated terminal breaking their integration with the command palette. It didn't make sense for David to invest time into them when he was devoting most of his time to fixing bugs and improving performance. I decided to stop trying to push them to people, and to let things settle.

At that point, we were still struggling to get people to switch to code. Now, I think we have great adoption and people are starting to get used to the normal features, so now should be a great time to really improve these and get some traction.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先检查现有的 Editor Commands 支持,以及 PowerShell Find-Module 和 Install-Module 如何与其连接。该 issue 尚未确定标签、用户体验、元数据、导入行为,以及 PSES 与 VS Code 之间的归属。完成这项工作需要先就范围和实施计划达成一致,然后才能确定具体的文件或测试。

由索引模型根据 Issue 内容生成。

评估

技术栈
powershell, vscode
领域
developer-experience, tooling
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
20/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。