Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[C#] Deeply nested parens causes editor hang.

Aperta
#135 10 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
csharp, typescript

Direzione di ricerca

Riproduci il blocco in un nuovo file evil_line.cs unendo l’espressione annidata fornita in un’unica riga, quindi esamina la grammatica della sintassi C# del repository e la sua gestione di parentesi e cast annidati. Non sono indicati file sorgente né test; il lavoro è completo quando la riga C# riprodotta non blocca più l’editor, mentre l’input multilinea e i casi di confronto segnalati rimangono utilizzabili.

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

Descrizione

Resolved-Duplicate

From @staticvoidmain on August 2, 2018 16:52

Issue Type: Bug

Problem

Too many nested parens on a single line cause C# file to hang.

Additional Info

  • I recently reversed some VB to C# and pasted it into code, resulting in a complete hang of the vscode process.
  • It's fine if these are separated into multiple lines as in the example, however if it's all on a single line you'll get a hang.
  • It's definitely the syntax highlighter, and seems to be specific to C#.
  • Tested against insiders, and with no extensions on the current build.
  • Tested the same line with other c-like language file extensions (js, ts, cpp, java) and they handle it without a crash.
  • Oh, also, if you drop the (object) casts off it's fine as well.

Steps To Reproduce

  1. New file > evil_line.cs
  2. Paste these contents
// don't try to join these lines...
var message = Conversions.ToString(
	Operators.ConcatenateObject(
		Operators.ConcatenateObject(
			Operators.ConcatenateObject(
				Operators.ConcatenateObject(
					Operators.ConcatenateObject(
						Operators.ConcatenateObject(
							Operators.ConcatenateObject(
								Operators.ConcatenateObject(
									Operators.ConcatenateObject(
										Operators.ConcatenateObject(
											Operators.ConcatenateObject(
												Operators.ConcatenateObject(
													Operators.ConcatenateObject(
														Operators.ConcatenateObject(
															Operators.ConcatenateObject(
																Operators.ConcatenateObject(
																	Operators.ConcatenateObject(
																		Operators.ConcatenateObject(
																			Operators.ConcatenateObject(
																				Operators.ConcatenateObject(
																					Operators.ConcatenateObject(
																						(object) strMsg,
																						Interaction.IIf(
																							Strings.Len(strMsg) > 0, 
																							(object) "\r\n", 
																							(object) null)), 
																					(object) "\r\n"),
																				(object) "name '"), 
																			(object) name), 
																		(object) "'"), 
																	(object) "\r\n"), 
																(object) "age '"), 
															(object) age), 
														(object) "'"),
													(object) "\r\n"),
												(object) "dob '"),
											(object) dob), 
										(object) "'"), 
									(object) "\r\n"), 
								(object) "favoriteColor '"), 
							(object) favoriteColor), 
						(object) "'"), 
					(object) "\r\n"), 
				(object) "favoriteFilm '"), 
			(object) favoriteFilm), 
		(object) "'")
	);
  1. Join Lines

VS Code version: Code 1.25.1 (1dfc5e557209371715f655691b1235b6b26a06be, 2018-07-11T15:43:53.668Z)
OS version: Windows_NT x64 10.0.14393

System Info
Item Value
CPUs Intel(R) Xeon(R) CPU E5-2695 v2 @ 2.40GHz (4 x 2400)
GPU Status 2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
native_gpu_memory_buffers: disabled_software
rasterization: unavailable_software
video_decode: enabled
video_encode: enabled
vpx_decode: enabled
webgl: enabled
webgl2: enabled
Memory (System) 12.00GB (7.34GB free)
Process Argv C:\Program Files\Microsoft VS Code\Code.exe
Screen Reader no
VM 100%
Extensions (12)
Extension Author (truncated) Version
xml Dot 2.3.1
EditorConfig Edi 0.12.4
tslint eg2 1.0.34
vscode-great-icons emm 2.1.39
code-beautifier mic 2.1.0
mssql ms- 1.4.0
python ms- 2018.7.1
cpptools ms- 0.17.7
PowerShell ms- 1.8.2
team ms- 1.136.0
debugger-for-chrome msj 4.8.2
vscode-javascript-booster sbu 0.10.1

Copied from original issue: Microsoft/vscode#55687

Lingua principale
TypeScript
Stelle
78
Fork
43
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

  • Nessun Dockerfile né file Docker Compose
  • Nessun modello di pull request
  • Nessuna 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.

Altre issue di dotnet/csharp-tmLanguage

Tutte le issue di dotnet/csharp-tmLanguage

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.