PowerShell / PowerShell/PSScriptAnalyzer

Format document converting timestamp within single quotes

Aperta
#1,110 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Area - Formatter Issue - Bug
Lingua principale
C#
Stelle
2.2k
Fork
414
Merge medio
13h 1m
PR unite (30g)
2

Descrizione

From @sk82jack on December 14, 2018 0:20

System Details

System Details Output

### VSCode version: 1.30.0 c6e592b2b5770e40a98cb9c2715a8ef89aec3d74 x64

### VSCode extensions:
CoenraadS.bracket-pair-colorizer@1.0.61
eamodio.gitlens@9.2.0
ms-azure-devops.azure-pipelines@1.145.1
ms-python.python@2018.12.0
ms-vscode.csharp@1.17.1
ms-vscode.PowerShell@1.10.1
ms-vsliveshare.vsliveshare@0.3.1013


### PSES version: 1.10.1.0

### PowerShell version:

Name                           Value
----                           -----
PSVersion                      5.1.17763.134
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.134
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
Issue Description

When running format document on a script it is converting an ISO 8601 timestamp within a string to a more human-readable string.

The issue has been reproduced by someone in the PowerShell slack and if you want to try and reproduce it yourself then feel free. Script here https://github.com/sk82jack/PSFPL/blob/master/Tests/Private/ConvertTo-FplObject.Tests.ps1#L48

I am trying to copy the timestamp string from line 67 into line 48

Expected Behaviour

I'd expect text in quotes to not be altered.

Actual Behaviour

Probably best described by a gif:
2018-12-11_18-32-28

Once it converts it it then starts being weird and reporting errors that weren't reported before:
2018-12-13_23-45-09

So, if I Ctrl+Z and then format again and then it doesn't convert it but it does remove the single quote from the end of line 48. I think that must be related to the previously reported errors but it still reports errors after removing the quote:
2018-12-13_23-48-57

So, I Ctrl+Z again and try and format again but the integrated console usually crashes at this point.

Attached Logs

VSCodeDiagnosticLogs.zip

Copied from original issue: PowerShell/vscode-powershell#1657

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.

Direzione di ricerca

Inizia con la riproduzione in Tests/Private/ConvertTo-FplObject.Tests.ps1, in particolare alle righe 48 e 67, e riproduci il comportamento tramite il comando format document. Traccia il modo in cui il formattatore gestisce il timestamp ISO 8601 racchiuso tra apici singoli e verifica che il testo tra virgolette rimanga invariato, senza introdurre errori di parsing o arresti anomali della console.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
powershell
Ambito
tooling
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
32/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.