Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

VSCode crashes when pasting this very long line C# code

Open
#176 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
csharp, typescript, vscode
Domain
tooling

Research direction

Reproduce on VS Code 1.42.1 on Windows 10 with extensions disabled: open a C# file and paste the supplied long line. Start by examining the csharp-tmLanguage syntax grammar and determine which part of the reproduction causes the crash; done means the same paste no longer crashes VS Code.

Written by the indexing model from the issue text.

Description

From @NearHuscarl in https://github.com/microsoft/vscode/issues/91200

VS Code Version: 1.42.1
OS: Windows 10

Steps to Reproduce:

  1. Open VSCode using code --disable-extensions
  2. Open a C# file
  3. Paste this line of code
            if (other.m_navigationMode == this.m_navigationMode && other.m_eliminateEnemies == this.m_eliminateEnemies && (other.m_searchForItems == this.m_searchForItems && other.m_searchItems == this.m_searchItems) && ((int)other.m_chokePointPlayerCountThreshold == (int)this.m_chokePointPlayerCountThreshold && (double)other.m_chokePointValue == (double)this.m_chokePointValue && ((double)other.m_defensiveAvoidProjectilesLevel == (double)this.m_defensiveAvoidProjectilesLevel && (double)other.m_defensiveBlockLevel == (double)this.m_defensiveBlockLevel)) && ((double)other.m_counterOutOfRangeMeleeAttacksLevel == (double)this.m_counterOutOfRangeMeleeAttacksLevel && (double)other.m_defensiveRollFireLevel == (double)this.m_defensiveRollFireLevel && (other.m_meleeUsage == this.m_meleeUsage && other.m_meleeWeaponUsage == this.m_meleeWeaponUsage) && (other.m_meleeWeaponUseFullRange == this.m_meleeWeaponUseFullRange && other.m_rangedWeaponUsage == this.m_rangedWeaponUsage && ((double)other.m_seekCoverWhileShooting == (double)this.m_seekCoverWhileShooting && other.m_rangedWeaponMode == this.m_rangedWeaponMode))) && (other.m_rangedWeaponLOSIgnoreTeammates == this.m_rangedWeaponLOSIgnoreTeammates && other.m_powerupUsage == this.m_powerupUsage && ((double)other.m_navigationRandomPausesLevel == (double)this.m_navigationRandomPausesLevel && (double)other.m_aggroRange == (double)this.m_aggroRange) && ((double)other.m_searchItemRange == (double)this.m_searchItemRange && (double)other.m_guardRange == (double)this.m_guardRange && ((double)other.m_chaseRange == (double)this.m_chaseRange && (double)other.m_offensiveClimbingLevel == (double)this.m_offensiveClimbingLevel)) && ((double)other.m_offensiveDiveLevel == (double)this.m_offensiveDiveLevel && (double)other.m_offensiveEnrageLevel == (double)this.m_offensiveEnrageLevel && ((double)other.m_offensiveSprintLevel == (double)this.m_offensiveSprintLevel && (double)other.m_rangedWeaponAccuracy == (double)this.m_rangedWeaponAccuracy) && ((double)other.m_rangedWeaponAimShootDelayMax == (double)this.m_rangedWeaponAimShootDelayMax && (double)other.m_rangedWeaponAimShootDelayMin == (double)this.m_rangedWeaponAimShootDelayMin && ((double)other.m_rangedWeaponHipFireAimShootDelayMax == (double)this.m_rangedWeaponHipFireAimShootDelayMax && (double)other.m_rangedWeaponHipFireAimShootDelayMin == (double)this.m_rangedWeaponHipFireAimShootDelayMin)))) && ((double)other.m_rangedWeaponBurstPauseMax == (double)this.m_rangedWeaponBurstPauseMax && (double)other.m_rangedWeaponBurstPauseMin == (double)this.m_rangedWeaponBurstPauseMin && ((double)other.m_rangedWeaponBurstTimeMax == (double)this.m_rangedWeaponBurstTimeMax && (double)other.m_rangedWeaponBurstTimeMin == (double)this.m_rangedWeaponBurstTimeMin) && ((double)other.m_rangedWeaponPrecisionInterpolateTime == (double)this.m_rangedWeaponPrecisionInterpolateTime && (double)other.m_rangedWeaponPrecisionAccuracy == (double)this.m_rangedWeaponPrecisionAccuracy && ((double)other.m_rangedWeaponPrecisionAimShootDelayMax == (double)this.m_rangedWeaponPrecisionAimShootDelayMax && (double)other.m_rangedWeaponPrecisionAimShootDelayMin == (double)this.m_rangedWeaponPrecisionAimShootDelayMin)) && ((double)other.m_rangedWeaponPrecisionBurstPauseMax == (double)this.m_rangedWeaponPrecisionBurstPauseMax && (double)other.m_rangedWeaponPrecisionBurstPauseMin == (double)this.m_rangedWeaponPrecisionBurstPauseMin && ((double)other.m_rangedWeaponPrecisionBurstTimeMax == (double)this.m_rangedWeaponPrecisionBurstTimeMax && (double)other.m_rangedWeaponPrecisionBurstTimeMin == (double)this.m_rangedWeaponPrecisionBurstTimeMin) && ((double)other.m_meleeWaitTimeLimitMin == (double)this.m_meleeWaitTimeLimitMin && (double)other.m_meleeWaitTimeLimitMax == (double)this.m_meleeWaitTimeLimitMax && (other.MeleeActions == this.MeleeActions && other.MeleeActionsWhenHit == this.MeleeActionsWhenHit))) && (other.MeleeActionsWhenEnraged == this.MeleeActionsWhenEnraged && other.MeleeActionsWhenEnragedAndHit == this.MeleeActionsWhenEnragedAndHit)))
Dominant language
TypeScript
Stars
78
Forks
43
Avg merge
34m
Merged PRs (30d)
1

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

  • No Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/csharp-tmLanguage

All issues in dotnet/csharp-tmLanguage

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.