Have `expandAlias` emit `TextEdit`s like the rename handler instead of a custom request
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Bắt đầu với ExpandAliasHandler, RenameService và ScriptExtentAdapter, sử dụng #2312 và #2108 làm ngữ cảnh. Truy vết plumbing hiện có của request powerShell/expandAlias và client vscode-powershell, sau đó so sánh đầu ra TextEdit của rename handler. Được xem là hoàn tất khi alias expansion phát ra edits cho command-name extents và client contract được cập nhật hoặc custom request bị deprecated.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Follow-on from @JustinGrote's review on #2312: https://github.com/PowerShell/PowerShellEditorServices/pull/2312#pullrequestreview-4521187389
Yeah looks fine to me. As a follow-on issue we should probably update the rename handler to use this same code path if it isn't already.
The rename handler (RenameService) is already on the modern path — it uses System.Management.Automation.Language.Parser.ParseInput plus AST visitors and never used the legacy PsParser, so there's nothing to migrate there. #2312 brought ExpandAliasHandler onto the same modern parser.
The remaining divergence is in output shape, and the reusable direction is the reverse of "rename adopts expand-alias": expand-alias should adopt rename's edit model.
ExpandAliasHandlerresolves aliases, then returns a single wholesale-rewritten string over the custompowerShell/expandAliasJSON-RPC request.RenameServicewalks AST extents and returnsTextEdit[]over standardtextDocument/rename, usingScriptExtentAdapterto map PowerShell 1-based extents to LSP 0-based ranges.
This is also what #2108 itself anticipated: "return a proper edit (potentially deprecating the need for an entirely separate custom request)."
Proposed work:
- Rework alias expansion to emit
TextEdits (reusingScriptExtentAdapter) covering each command-name token's extent, instead of returning a rewritten document. - Investigate folding it into a standard LSP surface (e.g. a code action) and deprecating the custom
powerShell/expandAliasrequest + its client plumbing in vscode-powershell.
Note this changes the client contract, so it needs coordination with the extension — which is why #2312 was scoped to just the parser swap.
Drafted by Copilot (Claude Opus 4.8).
- Ngôn ngữ chính
- C#
- Star
- 767
- Fork
- 266
- Merge trung bình
- 3 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 1
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của PowerShell/PowerShellEditorServices
-
[Bug] None of the string overloads of `EditorExtensionServiceProvider.GetService()` work on .NET. Đang mở
PowerShell/PowerShellEditorServices#2331 · 1 reaction · 2 người được giao ·
-
Area-Debugging Issue-Enhancement
PowerShell/PowerShellEditorServices#2294 · 1 reaction · 2 người được giao ·
-
Issue-Bug Needs: Triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
PowerShell/PowerShellEditorServices#2293 · 1 bình luận ·
-
PowerShell/PowerShellEditorServices#2282 · 1 bình luận · 1 reaction · 2 người được giao ·
-
Issue-Bug Needs: Triage
PowerShell/PowerShellEditorServices#2278 · 1 reaction · 2 người được giao ·
Tất cả issue của PowerShell/PowerShellEditorServices
Issue tương tự
-
Documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
cake-build/cake#5024 ·
-
Gå gjennom ESLint-suppressions Đang mởFrontend status/draft TechnicalDebt
Độ khó 2/5 1-2 ngày Mức phù hợp với người mới 75/100
Altinn/altinn-auth#4143 ·
-
.NET Flaky Test Testing Tests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
getsentry/sentry-dotnet#5617 · 1 bình luận ·
-
Add more to the documentation Đang mở:watch: Not Triaged dotnet-fsharp/svc
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
-
Client customer-reported needs-team-attention question Service Attention WebPubSub
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Azure/azure-sdk-for-net#63292 · 3 bình luận · 1 reaction ·