PowerShell / PowerShell/PSScriptAnalyzer
Formatting Issue, example included
還沒有人認領這個 Issue。
- 主要語言
- C#
- 星號
- 2.2k
- 分支
- 415
- 平均合併
- 13 小時 1 分鐘
- 30 天內合併 PR
- 2
描述
Issue Type: Bug
This is an example of the formatting issue I have been struggling with. It appears that that using a multi-line piping statement, along with the 'Out-Null' is the cause in this situation. Formatting the document adds an additional tab each time this code happens. I have much more involved code then this example that becomes really confusing when this indent issue occurs.
function Test-Format([int]$num) {
if($num -eq 1){
Get-ChildItem -Path 'c:\*.*' | Where-Object {$_.name -like 'test1.*'} |
ForEach-Object{Remove-Item -Path $_ | Out-Null}
}
else{
Get-ChildItem -Path 'c:\*.*' | Where-Object {$_.name -like 'test2.*'} |
ForEach-Object{Remove-Item -Path $_ | Out-Null}
}
}
Test-format -num 1
Extension version: 2021.2.2
VS Code version: Code 1.54.1 (f30a9b73e8ffc278e71575118b6bf568f04587c8, 2021-03-04T22:38:31.419Z)
OS version: Windows_NT x64 10.0.19042
System Info
| Item | Value |
|---|---|
| CPUs | Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz (8 x 3700) |
| GPU Status | 2d_canvas: enabled gpu_compositing: enabled multiple_raster_threads: enabled_on oop_rasterization: enabled opengl: enabled_on protected_video_decode: unavailable_off rasterization: enabled skia_renderer: enabled_on video_decode: enabled vulkan: disabled_off webgl: enabled webgl2: enabled |
| Load (avg) | undefined |
| Memory (System) | 31.92GB (22.25GB free) |
| Process Argv | --crash-reporter-id 73837bc4-9684-4f62-8d48-bb5a4bc03bd8 |
| Screen Reader | no |
| VM | 0% |
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstry244cf:30256637
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt875:30259475
dockersubset:30265998
pythontbcf:30265426
vspre833:30267464
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
研究方向
先使用本報告中的多行 PowerShell pipeline 和 Out-Null 範例重現問題,並盡可能使用所述版本的 PSScriptAnalyzer 擴充功能和 VS Code。追蹤處理 pipeline 縮排的 formatter 進入點;當重複格式化不再加入額外的定位字元,且所示的 if/else 結構仍保持正確對齊時,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- powershell
- 領域
- tooling
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100