Consider using a default editor for the `ViEditVisually` function and / or issue a warning if the `$env:VISUAL` / `$env:EDITOR` value is invalid.
还没有人认领这个 Issue。
评估
调研方向
Start by tracing the ViEditVisually function and how it resolves $env:VISUAL and $env:EDITOR. Define behavior for missing or invalid values, including platform-specific default editors and synchronous Windows invocation; done means users receive feedback instead of only a beep and the chosen editor behavior is covered by relevant tests.
由索引模型根据 Issue 内容生成。
描述
Prerequisites
- Write a descriptive title.
Description of the new feature/enhancement
Currently, invoking the ViEditVisually function fails with no feedback other than a beep:
- if neither
$env:VISUALno$env:EDITORare defined. - If either variable exists, but contains an invalid value (notably including the case where options are part of the value - see https://github.com/PowerShell/PowerShell/issues/21525).
Consider modifying the behavior as follows, which would not only be more user-friendly in general, but also align with the behavior of other utilities, such as bash and git:
-
Use a default editor if neither
$env:VISUALno$env:EDITORare defined - and issue a warning if it cannot be found.- A possible candidate on Unix-like platform is
vi(this is whatgitdoes, though on some platforms it hasgeditas the compiled-in default) - On Windows, Notepad would do as a guaranteed-to-be-present option, though that would require invocation via
Start-Process -Wait(or equivalent) to ensure synchronous execution. Note that if a given machine has Git for Windows installed,nanoandvimare present (but not in$env:PATH), via$env:ProgramFiles\Git\usr\bin\nano.exeand$env:ProgramFiles\Git\usr\bin\vim.exe
- A possible candidate on Unix-like platform is
-
Issue a warning if the effective
$env:VISUAL/$env:EDITORvalue isn't valid; ditto, should the decision be made not to implement use of a default editor and neither$env:VISUALnor$env:EDITORis defined.
Proposed technical implementation details (optional)
No response
- 主要语言
- C#
- 星标
- 4.4k
- 派生
- 341
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
PowerShell/PSReadLine 的其他 Issue
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 78/100
PowerShell/PSReadLine#5205 ·
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 68/100
PowerShell/PSReadLine#5195 ·
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 72/100
PowerShell/PSReadLine#5121 ·
-
Needs-Triage :mag:
难度 2/5 1-3 小时 新手友好度 64/100
PowerShell/PSReadLine#5045 ·
-
Area-CommandHelp Issue-Enhancement
难度 1/5 1 小时以内 新手友好度 68/100
PowerShell/PSReadLine#3470 · 3 个 reaction ·
查看 PowerShell/PSReadLine 的全部 Issue
相似的 Issue
-
bug
难度 1/5 1 小时以内 新手友好度 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
难度 2/5 1-3 小时 新手友好度 72/100
azurenoops/spin_agent#975 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
难度 2/5 1-3 小时 新手友好度 92/100
dotnet/AspNetCore.Docs#37699 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
SubtitleEdit/subtitleedit#15108 · 1 条评论 ·