Microsoft/vscode

Bug: Enter Press After ‘//’ Breaks Line and Converts Code to Comment in JavaScript

Open

#241.802 aberto em 25 de fev. de 2025

Ver no GitHub
 (2 comments) (2 reactions) (1 assignee)TypeScript (10.221 forks)batch import
bugeditor-autoindenthelp wantedjavascript

Métricas do repositório

Stars
 (74.848 stars)
Métricas de merge de PR
 (Mesclagem média 11h 43m) (1.000 fundiu PRs em 30d)

Description

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.97.2
  • OS Version: macOS 15.4

Steps to Reproduce:

  1. Open a new .js file in VSCode.
  2. Type let string = '//this is a string'.charAt(0).
  3. Place the cursor anywhere after the // in the string (e.g., between // and this, or after string before .charAt).
  4. Press Enter.

Expected Behavior:

  • The line should split normally, e.g.: let string = '//this is a string'.charAt(0) or: let string = '//this is a string' .charAt(0)

Actual Behavior:

  • VS Code inserts a comment on the next line whenever Enter is pressed after //, breaking the code: let string = '//this // is a string'.charAt(0) or: let string = '//this is a string' // .charAt(0)

Additional Notes: This bug occurs when you press Enter after “//” on the same line in a JavaScript file, causing the rest of the line to be treated as a comment, even with all extensions disabled and formatting settings off.

It was discovered during a real scenario with axios.get(“http://localhost/index”).then(). Pressing Enter after “//” in the URL or before “.then()” triggers the bug, which happens often when formatting HTTP request code. For example: axios.get(“http://local // host/index”).then() Or axios.get(“http://localhost/index”) // .then()

  • Strings without “//” (e.g., (‘test’), (’/test’)) split fine.

  • Tested with default and minimal settings.json—issue persists even on a clean Insiders install.

  • This isn’t just about obscure string splitting; it disrupts real-world coding like breaking up long URL arguments or promise chains.

Guia do colaborador