PowerShell / PowerShell/vscode-powershell

Extension's Formatter ignores config file.

Aperta
#3,024 7 commenti 1 reazione 1 assegnatario Vedi su GitHub

@SydneyhSmith ci sta già lavorando.

Dal 15/3/2023.

Area-Script Analysis Issue-Enhancement
Lingua principale
TypeScript
Stelle
1.9k
Fork
548
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Issue Description

The extension's formatter is ignoring the config file: PSScriptAnalyzerSettings.psd1
I didn't file this in /PSScriptAnalyzer because it (Invoke-Formatter) works as expected with the same config file.

Properties set under "powershell.codeFormatting.* are working.
Except it's ignoring "powershell.scriptAnalysis.settingsPath": "PSScriptAnalyzerSettings.psd1" when formatting.

I can disable changing process using Invoke-Formatter using this config

@{
    'Rules' = @{
        'PSAvoidUsingCmdletAliases' = @{
            'Whitelist' = @('process')
        }
    }
}
Expected Behaviour

Input example:

function foo {
    param ()

    Process {
        ls
        process
    }
}

Should format as

function foo {
    param ()

    Process {
        Get-ChildItem
        process
    }
}
Actual Behaviour
function foo {
    param ()

    Process {
        Get-ChildItem
        Get-Process
    }
}
System Details

A tiny workspace reproduces the example: 2020-10-20 - Invoke-Formatter - ignores config.zip

System Details Output (Click to Expand)
### VSCode version: 1.50.1 d2e414d9e4239a252d1ab117bd7067f125afd80a x64

### VSCode extensions:
alefragnani.Bookmarks@11.4.0
arcticicestudio.nord-visual-studio-code@0.14.0
bungcip.better-toml@0.3.2
christian-kohler.path-intellisense@2.3.0
CoenraadS.bracket-pair-colorizer@1.0.61
CoenraadS.bracket-pair-colorizer-2@0.2.0
DavidAnson.vscode-markdownlint@0.37.1
donjayamanne.githistory@0.6.12
DotJoshJohnson.xml@2.5.1
eamodio.gitlens@10.2.2
eamodio.tsl-problem-matcher@0.3.1
Equinusocio.vsc-community-material-theme@1.4.2
Equinusocio.vsc-material-theme@33.0.0
equinusocio.vsc-material-theme-icons@1.2.0
esbenp.prettier-vscode@5.7.1
evan-buss.font-switcher@3.1.0
firefox-devtools.vscode-firefox-debug@2.9.1
formulahendry.code-runner@0.11.1
juanmnl.vscode-theme-hydra@3.1.0
matangover.mypy@0.1.4
mechatroner.rainbow-csv@1.7.1
medo64.code-point@1.7.1
ms-dotnettools.csharp@1.23.4
ms-mssql.mssql@1.9.0
ms-python.python@2020.9.114305
ms-python.vscode-pylance@2020.10.2
ms-vscode-remote.remote-wsl@0.50.1
ms-vscode.cpptools@1.0.1
ms-vscode.hexeditor@1.3.0
ms-vscode.powershell@2020.6.0  [disabled]
ms-vscode.powershell-preview@2020.9.0 
ms-vscode.vscode-typescript-tslint-plugin@1.2.3
msjsdiag.debugger-for-chrome@4.12.11
octref.vscode-json-transform@0.1.2
PKief.material-icon-theme@4.3.0
PowerQuery.vscode-powerquery@0.1.5
RandomFractalsInc.vscode-data-preview@2.2.0
redhat.vscode-xml@0.13.0
RobbOwen.synthwave-vscode@0.1.8
rogalmic.bash-debug@0.3.9
rust-lang.rust@0.7.8
sallar.vscode-duotone-dark@0.3.3
shakram02.bash-beautify@0.1.1
shd101wyy.markdown-preview-enhanced@0.5.13
stansw.vscode-odata@0.1.0
stuart.unique-window-colors@1.0.51
vadimcn.vscode-lldb@1.6.0
VisualStudioExptTeam.vscodeintellicode@1.2.10
webfreak.debug@0.25.0
wwm.better-align@1.1.6
yzhang.markdown-all-in-one@3.3.0
zhuangtongfa.material-theme@3.9.3

### PSES version: 2.3.0.0

Name                              Version
----                              -------
PowerShellEditorServices.Commands 0.2.0
PowerShellEditorServices.VSCode   0.2.0

### PowerShell version:

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.19041
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Attached Logs

log - editorServices.log

Environment Information

Visual Studio Code

Name Version
Operating System Windows_NT x64 10.0.19041
VSCode 1.50.1
PowerShell Extension Version 2020.9.0

PowerShell Information

Name Value
PSVersion 7.0.3
PSEdition Core
GitCommitId 7.0.3
OS Microsoft Windows 10.0.19041
Platform Win32NT
PSCompatibleVersions 1.0 2.0 3.0 4.0 5.0 5.1.10032.0 6.0.0 6.1.0 6.2.0 7.0.3
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0

Visual Studio Code Extensions

Visual Studio Code Extensions(Click to Expand)
Extension Author Version
better-toml bungcip 0.3.2
Bookmarks alefragnani 11.4.0
code-point medo64 1.7.1
code-runner formulahendry 0.11.1
cpptools ms-vscode 1.0.1
csharp ms-dotnettools 1.23.4
debug webfreak 0.25.0
debugger-for-chrome msjsdiag 4.12.11
font-switcher evan-buss 3.1.0
githistory donjayamanne 0.6.12
gitlens eamodio 10.2.2
hexeditor ms-vscode 1.3.0
markdown-all-in-one yzhang 3.3.0
material-icon-theme PKief 4.3.0
material-theme zhuangtongfa 3.9.3
mssql ms-mssql 1.9.0
mypy matangover 0.1.4
nord-visual-studio-code arcticicestudio 0.14.0
path-intellisense christian-kohler 2.3.0
powershell-preview ms-vscode 2020.9.0
prettier-vscode esbenp 5.7.1
python ms-python 2020.9.114305
rainbow-csv mechatroner 1.7.1
remote-wsl ms-vscode-remote 0.50.1
rust rust-lang 0.7.8
synthwave-vscode RobbOwen 0.1.8
tsl-problem-matcher eamodio 0.3.1
vsc-community-material-theme Equinusocio 1.4.2
vsc-material-theme Equinusocio 33.0.0
vsc-material-theme-icons equinusocio 1.2.0
vscode-data-preview RandomFractalsInc 2.2.0
vscode-duotone-dark sallar 0.3.3
vscode-firefox-debug firefox-devtools 2.9.1
vscode-json-transform octref 0.1.2
vscode-lldb vadimcn 1.6.0
vscode-odata stansw 0.1.0
vscode-powerquery PowerQuery 0.1.5
vscode-pylance ms-python 2020.10.2
vscode-theme-hydra juanmnl 3.1.0
vscode-typescript-tslint-plugin ms-vscode 1.2.3
vscode-xml redhat 0.13.0
vscodeintellicode VisualStudioExptTeam 1.2.10
manual_invoke_formatter.ps1 (Click to Expand)
$settings = 'PSScriptAnalyzerSettings.psd1'
$src = @'
function foo {
    param ()

    Process {
        ls
        process
    }
}
'@

$expected = @'
function foo {
    param ()

    Process {
        Get-ChildItem
        process
    }
}
'@

Write-Host -fore red "Input"
$src

Write-Host -fore red "Result"
$result = Invoke-Formatter -ScriptDefinition $src -Settings $settings
$result

"Expected?"
$result -eq $expected

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.