Vscode: ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ renderWhitespace

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 10 Ρ„Π΅Π²Ρ€. 2016  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: microsoft/vscode

Π½Π° всякий случай Π°Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ символы CR, EOL
0-31 ΠΈ 127 ΠΊΠΎΠ΄ ASCII Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ символы
Ρ‚Π°ΠΊΠΆΠ΅ # 2085 связан

editor-render-whitespace feature-request

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

МоТно Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ символы?

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

МоТно Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ символы?

Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» 20 ΠΌ Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с URL-адрСсом, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ мСня Π±Ρ‹Π» дСсятичный ΠΊΠΎΠ΄ Unicode, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ΅ΠΌΡƒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌΡƒ URL-адрСсу, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ ΠΎΠ½ рассматривался ΠΊΠ°ΠΊ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ Π½Π°ΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ этих странных символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ программист Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своСм ΠΊΠΎΠ΄Π΅.

+всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ нСграфичСскиС ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» исходного ΠΊΠΎΠ΄Π°, содСрТащий символ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° U+200B (ZERO WIDTH SPACE), ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² VSCode.
PS> [char]0x200B | Out-File .\zero_width_space.ps1 -Encoding utf8
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…:
PS > [io.file]::ReadAllBytes('.\zero_width_space.ps1')
239 187 191 226 128 139 13 10

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:
VSCode Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°, Π΄Π°ΠΆΠ΅ Ссли "editor.renderWhitespace"="all"
ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 239 187 191 (НУЛЕВАЯ ШИРИНА ΠΠ•Π ΠΠ—Π Π«Π’ΠΠžΠ“Πž ΠŸΠ ΠžΠ‘Π•Π›Π) ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ спСцификация.
ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ 226 128 139 13 10 (НУЛЕВАЯ ШИРИНА ΠŸΠ ΠžΠ‘Π•Π›) +(CR) + (LF) ΡΠ²Π»ΡΡŽΡ‚ΡΡ тСкстом исходного ΠΊΠΎΠ΄Π°.

Π—Π°Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½.
Π’ этом случаС вторая кодовая Ρ‚ΠΎΡ‡ΠΊΠ° (ZERO WIDTH SPACE) являСтся синтаксичСской ошибкой для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ содСрТит ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ => Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ символы форматирования Unicode Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅, Ссли ΠΎΠ½ΠΈ явно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² коммСнтариях ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ форматирования Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ случайным мусором ΠΏΡ€ΠΈ вставкС тСкста ΠΈΠ· Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

Π”Π°ΠΆΠ΅ символ спСцификации ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ символ для ΠΏΠΎΠ»Π½ΠΎΠΉ прозрачности.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ