Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ 3 ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π΄Π²Π΅ ΡΡΠ΅ΠΉΠΊΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ, Π²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ Π΄Π²Π΅ ΡΡΠ΅ΠΉΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠΉ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΈΡΠ°Π΅Ρ Π΄Π²Π΅ ΡΡΠ΅ΠΉΠΊΠΈ.
Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΡΠΎ Π½Π° macOS / bash. Π― Π±Ρ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π», ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΈΡΠΈΠ½Ρ ΡΠΌΠΎΠ΄Π·ΠΈ (ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΅ Π½Π΅ ΡΠ°Π²Π½ΠΎΠΉ 1). ΠΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎ ΡΠ°Π³Π°Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ.
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ (OSX, MacOS High Sierra)
ΠΡ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ MacOS High Sierra, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ? ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ node-pty - Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠ° Π² Terminal.app
ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π΅Π» ΠΏΠΎΡΠ»Π΅ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠ°, ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»ΡΡΠ΅, Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΡΡΠΎ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠ³ΡΠΎΠ·Ρ High Sierra ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ» Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΈΡΠΈΠ½Ρ ...
Terminal.app Π½Π° MacOS High Sierra
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΊΠ»Π°ΡΡΠ½Π°Ρ Π²Π΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡΡΠ°Π»ΠΈΡΡ ΡΠ»ΡΡΡΠΈΡΡ Emojis Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅? Π― Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΉΡΠ°Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΡΡΠΈΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Electron.
ΠΠ΅Π½Π°Π²ΠΈΠΆΡ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΡΡ, ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΠΌΠ΅Π½Ρ ΠΊΡΡΠ° ΡΠ±ΠΎΠ΅Π² ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ρ ΡΠΎΠΌΠ° π€
ΠΠ°, Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΠ» Π·Π° ΠΎΡΠ·ΡΠ²Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ, Π΄ΡΠΌΠ°Ρ, Ρ Sierra ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π²Π΅ΡΠΈ.
Π― Π·Π°ΠΌΠ΅ΡΠ°Ρ, ΡΡΠΎ Π² Terminal.app ΠΏΡΠΈΡΡΠ½ΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΌΠΎΠ΄Π·ΠΈ, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠΈΡΠΎΠΊΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΌΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΌΠΎΠ³ΡΡ π
UAX # 11 East Asian Width, Revision 31 ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΡΠΌΠΎΠ΄Π·ΠΈ _East Asian Wide_ (Π΄Π²ΠΎΠΉΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π°), Π° wcswidth
Π² wchar.h Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠΈΠ½Ρ ΡΡΡΠΎΠΊ. ΠΡΠΌΠ°Ρ, macOS High Sierra ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π»Π° Π±Ρ ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.
wcwidth
Π² src/CharWidth.ts
xterm.js Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ.
@ mandel59 ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ!
@ mandel59 Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π° Π΄Π»Ρ ΡΠΌΠΎΠ΄Π·ΠΈ, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ CJK Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ½Π΅ΡΠ΅Π½Ρ ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠΈΡΠΈΠ½Ρ (Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Ρ, Ρ ΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, https://github.com/xtermjs/xterm.js/issues/1387)
Π‘ΡΡΠ»ΠΊΠ°: https://github.com/gnachman/iTerm2/blob/master/sources/NSCharacterSet+iTerm.m ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠΎΠ΄ΠΎΠΌ VS: https://github.com/Microsoft/vscode/issues/59145
ΠΠΎ-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡ, ΠΏΡΠΎΠ±Π΅Π³ Ρ ΡΠ»Π°ΡΡΠ΅ΡΠΎΠΌ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ΅ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ Dart Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Flutter (Ρ ΠΎΡΡ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Dart):
import 'dart:async';
import 'dart:io';
// Windows console font has a limited set of Unicode characters.
final _animation = Platform.isWindows
? <String>[r'-', r'\', r'|', r'/']
: <String>['π', 'π', 'π', 'π', 'π', 'π', 'π', 'π'];
final _backspace = '\b' * _animation[0].length;
main() {
int ticks = 0;
void update(Timer timer) {
if (ticks % 50 == 0) {
stdout.write('\nDoing thing... ');
}
stdout.write('$_backspace${_animation[ticks++ % _animation.length]}');
}
new Timer.periodic(const Duration(milliseconds: 100), update);
}
Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ» .dart
Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ dart xxx.dart
. ΠΡΠΎΡ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ Π²ΡΠ΄Π°Π΅Ρ Π΄Π²Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π΅Π»Π° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ macOS ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ VS Code ΠΎΠ½ Π²Π΅ΡΠ½Π΅Ρ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ». ΠΡΠ»ΠΈ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ Π±ΡΠ» Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π²Π»Π΅Π²ΠΎ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π±Ρ ΠΏΡΠ°Π²ΡΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ Π·Π½Π°ΡΠΊΠ°).
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ * _animation[0].length
ΠΈΠ· backspace, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΡΠ΅Π³Π΄Π° Π΄Π΅Π»Π°Π» ΠΎΠ΄ΠΈΠ½ backspace, ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ VS Code, Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ backspace Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ macOS (ΡΠ°ΠΊ ΡΡΠΎ Π»ΡΠ½Ρ Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»Π·ΡΡ Π²ΠΏΡΠ°Π²ΠΎ !).
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ ΠΈΠ²ΡΠΈΡΡ / Π°ΡΠ°Π±ΡΠΊΠΎΠΌΡ ΡΠ·ΡΠΊΡ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² https://github.com/Microsoft/vscode/issues/60470
VSCode 1.31.1 Π² Ubuntu 18.04 ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π²Π΅ΡΡ ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ, Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠ½Π° Π½Π΅ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²Π°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎ, ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ, ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² xterm.
Π¨Π°Π³ΠΈ:
Π ΠΌΠΎΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ:
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΡΡΡΠ΅Π»ΠΊΡ Π²Π²Π΅ΡΡ
, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ npm i
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΡΠ΅Π½Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ n
ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅.
Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ ΠΈΠ· ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π² .bashrc
ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½, ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΡΡΠ΅Π·Π½Π΅Ρ.
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Ρ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ Π²Π°Ρ, ΡΠ΅Π±ΡΡΠ°, Π·Π° Π²Π°ΡΡ ΠΏΠΎΡΡΡΡΠ°ΡΡΡΡ ΡΠ°Π±ΠΎΡΡ.
VSCode 1.31.1 Π² macOS Mojave 10.14.3 ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. Π’ΠΎ, ΡΡΠΎ n
, ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ @juliusecker, ΡΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈ ΡΠΎ ΠΌΠ½ΠΎΠΉ, Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΠΏΠΈΡΠ°Π».
Π£ ΠΌΠ΅Π½Ρ ΡΠ° ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΏΠΎΠΌΠΈΠ½Π°Π» @juliusecker.
VSCode Π²Π΅ΡΡΠΈΠΈ 1.33.1 (1.33.1) 51b0b28134d51361cf996d2f0a1c698247aeabd8 2019-04-11T08: 14: 39.158Z
ΠΠ΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ: macOS 10.14.4 (18E226)
zsh 5.7.1 (x86_64-ΡΠ±Π»ΠΎΠΊΠΎ-darwin17.7.0)
ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π² VSCode ΠΈ Powershell.
"Emoji Normal"
"π1π2π3π4"
"Emoji with Padding Spaces - What it should look like"
"π 1π 2π 3π 4"
ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°? ΠΠΎΡ ΠΎΠΆΠ΅, ΡΡΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ (Hyper ΠΈ Ρ. Π.) ΠΠ°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π³ΡΠ΅ΡΡΠΎΠ², ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅.
@jerch - ΡΡΠΎ Π΄ΡΠ±Π»ΠΈΠΊΠ°Ρ https://github.com/xtermjs/xterm.js/issues/1709?
@Tyriar ΠΠ°, Π²ΡΠΎΠ΄Π΅ Π±Ρ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π»ΡΠ΄ΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡ Ρ ΡΡΠΈΠΌ - ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠΈ: smile_cat:
ΠΡΠΌΠ°Ρ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΈΡ ΠΎΠ±Π° ΠΎΡΠΊΡΡΡΡΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π° Π² # 1709 Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠ»ΡΡ Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠ·ΡΠ²ΠΎΠ².
ΠΠ½ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π² Windows 10 ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ:
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ΅ - ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Ρ Π²ΠΈΠΆΡ Π²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ VS-ΠΊΠΎΠ΄Π°,
ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Ρ Π²ΠΈΠΆΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΠΊΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠΎΠ΄Π΅ VS.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡΡ Π»Π΅Ρ, Π΅ΡΡΡ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ?
@jerch Ρ ΠΎΡΠ΅Ρ
ΠΠ°ΠΊΡΡΡΠΈΠ΅ Π² ΠΏΠΎΠ»ΡΠ·Ρ https://github.com/xtermjs/xterm.js/issues/1709, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΏΠΎ ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅, ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»Π°ΡΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
VSCode 1.31.1 Π² Ubuntu 18.04 ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΈΡΡΠΎΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π²Π΅ΡΡ ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΠΎ ΡΡΡΠ΅Π»ΠΊΠ°ΠΌΠΈ, Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠ½Π° Π½Π΅ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²Π°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎ, ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ, ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² xterm.
Π¨Π°Π³ΠΈ:
Π ΠΌΠΎΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ:
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΡΡΡΠ΅Π»ΠΊΡ Π²Π²Π΅ΡΡ , ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
npm i
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΡΠ΅Π½Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ
n
ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅.Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊ ΠΈΠ· ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π²
.bashrc
ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½, ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΡΡΠ΅Π·Π½Π΅Ρ.