νμ¬ v3μμλ μ΄λͺ¨ν°μ½μ΄ λ κ°μ μ μ μ°¨μ§νλ κ² κ°μ΅λλ€. νμ΄ν ν€λ₯Ό μ¬μ©νλ©΄ νλκ° μλ λ κ°μ μ μ΄ μ νλ©λλ€. μμ νλ©΄ λ κ°μ μ λ μ§μμ§λλ€.
macOS / bashμμ μ¬ν ν μ μμ΅λλ€. μ΄λͺ¨ μ§ λλΉλ₯Ό μ‘°μ νμ§ μμΌλ©΄ (1μ΄ μλ κ°μΌλ‘) μ΄λ° μΌμ΄ λ°μν κ²μΌλ‘ μμνμ§ μμ΅λλ€. μ¬ν λ¨κ³μ λν μμΈν λ΄μ©μ μ μ©ν©λλ€.
μ¬ν (OSX, MacOS High Sierra)
λΉμ μ μ΄λ―Έ MacOS High Sierraλ₯Ό μ¬μ©νκ³ μμ΅λκΉ? μλ§λ node-ptyμ κ΄λ ¨μ΄μμ μλ μμ΅λλ€. Terminal.app
μ΄λͺ¨ν°μ½μ μ½μ
νλ©΄ μλμΌλ‘ μ΄λͺ¨ν°μ½ λ€μ κ³΅λ°±μ΄ μΆκ°λκ³ λ λμκ° ν΄λΉ 곡κ°μ μ νν μ μμ΅λλ€. High Sierraκ° μννλ κ²κ³Ό κ°μ΅λλ€. μ΄μ€ λλΉ λ¬Έμλ‘ ...
MacOS High Sierraμ Terminal.app
μ΄κ²μ κ·Έλ€μ΄ ν°λ―Έλμμ μ΄λͺ¨ν°μ½μ λ μ’κ² λ§λ€λ €κ³ μλν λμ μμλΌ μΌ μ μμ΅λκΉ? Electron μ±μμ λ λλ§μ΄ μλ§μ΄μ΄μ νμ¬ μ λ°μ΄νΈ ν μ μμ΅λλ€.
λλ μ κ·Έλ μ΄λνλ€κ³ λ§νλ κ²μ΄ μ«κ³ μ§κΈμ λͺ¨λ ν¬λ‘¬ κΈ°λ° μ±μμ μλ§μ λ λλ§ κ²°ν¨μ κ°ν μμ΅λλ€ π€
κ·Έλ, λλ λ΄κ° μκ°νλ Sierraμ λΉμ·ν μΌμ΄ μΌμ΄λ¬κΈ° λλ¬Έμ μ λ°μ΄νΈνκΈ° μ μ νΌλλ°±μ μΆμ νκΈ° μν΄ μ μ€νλ€.
λλ Terminal.appμ΄ μ μ ν μμ΄λ λ¬Έμλ‘ μ·¨κΈλλ λ©μ§ μ΄λͺ¨ν°μ½ κ²½νμ κ°μ§κ³ μμμ μμμ΅λλ€.
UAX # 11 λμμμ λλΉ, κ°μ 31 μ μ΄λͺ¨ν°μ½ _ λμμμ λλΉ _ (μ΄μ€ λλΉ)λ₯Ό λ³κ²½νμΌλ©° wchar.hμ wcswidth
λ λ¬Έμμ΄ λλΉλ₯Ό λ°νν©λλ€. macOS High Sierraκ° μ
λ°μ΄νΈλ₯Ό μ§μνμ κ²μ
λλ€.
xterm.jsμ wcwidth
μμ src/CharWidth.ts
μμ§ μ§μνμ§ μμ΅λλ€.
@ 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
λΆλͺ ν flutter runμ΄μ΄ λμμ 보μ¬μ€λλ€.
λ€μμ Flutterκ° νμμλ μμ Dart μ¬νμ λλ€ (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
λ₯Ό μ κ±°νμ¬ νμ λ¨μΌ λ°± μ€νμ΄μ€λ₯Ό μννλ©΄ VS Code ν°λ―Έλμμλ μ λλ‘ μλνμ§λ§ macOS ν°λ―Έλμμλ λ μ΄μ λ°± μ€νμ΄μ€κ° μΆ©λΆνμ§ μμ΅λλ€ (κ·Έλ¬λ―λ‘ λ¬μ΄ μ€λ₯Έμͺ½μΌλ‘ μ΄λ !).
https://github.com/Microsoft/vscode/issues/60470μ μΈκΈ λ νλΈλ¦¬μ΄ / μλμ΄μλ μ μ©λ©λλ€.
Ubuntu 18.04μ VSCode 1.31.1μμμ΄ λ¬Έμ κ° λ°μν©λλ€.
νμ΄ν ν€λ₯Ό μ¬μ©νμ¬ λͺ λ Ή κΈ°λ‘μ μμλλ‘ μ€ν¬λ‘€νλ©΄ μ€ννλ €λ λͺ λ Ήμ λλ¬νλ©΄ μ½μ μμλ κ°λ₯μ±μ΄ μλλ‘ μν°ν©νΈκ° μ νλ©λλ€.
λν μν°ν©νΈλ₯Ό μ νν ν νμλλ λ΄μ©μ΄ xtermμ λ©λͺ¨λ¦¬μμλ λ΄μ©κ³Ό λ€λ₯΄κΈ° λλ¬Έμ λͺ λ Ή νΈμ§μ΄ λ²κ·Έκ° μμ΅λλ€.
λ¨κ³ :
λ΄ ν둬ννΈμ μ΄λͺ¨ν°μ½μ μΆκ°νμ΅λλ€.
npm i
λͺ
λ Ήμ λ΄λ¦¬λ €λ©΄ μμͺ½ νμ΄νλ₯Ό ν λ² λλ₯΄μμμ€.
ν둬ννΈμ μΆκ° λ λΆλ n
λ₯Ό νμΈν©λλ€.
.bashrc
μ ν둬ννΈμμ μ΄λͺ¨ν°μ½μ μ κ±°νκ³ μ©μ΄λ₯Ό λ€μλ‘λνλ©΄ λ²κ·Έκ° μ¬λΌμ§λλ€.
λ¨Όμ , μ¬λ¬λΆμ λλΌμ΄ μμ μ λν΄ κ°μ¬λ립λλ€.
macOS Mojave 10.14.3μ VSCode 1.31.1μ λμΌν©λλ€. @juliusecker κ° μΈκΈ ν n
μΌλ κ·Έκ° μ€λͺ
νλλ‘ μ μκ²λ λ°μν©λλ€.
@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-apple-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 μ, pplμ΄ μ§λ©΄ ν κ°λ₯μ±μ΄ κ°μ₯ λμ μμ λλ€-emojis : smile_cat :
λλ μ΄κ²μ΄ λ¬Έμ λ₯Ό μ μ€λͺ νκ³ # 1709κ° ν΄κ²°μ± μ λ λ§μ΄ 보μ΄λ―λ‘ λ λ€ μ΄μ΄ λ κ²μ΄λΌκ³ μκ°ν©λλ€.
Windows 10, λ€μ λ²μ μμ 볡μ ν μ μμ΅λλ€.
μλ VS μ½λ λ΄μ₯ ν°λ―Έλμμ λ³Ό μμλ κ²μ
λλ€.
μμ λ΄μ©μ ν
μ€νΈ νμΌμ λμΌν ν
μ€νΈκ° VS μ½λμμ μ΄λ¦΄ λ νμλλ κ²μ
λλ€.
λ¬Έμ κ° κ±°μ 2 λ μ λλλλ° μ λ°μ΄νΈκ° μλμ?
@jerch λ 곧 λμ°©νκΈ°λ₯Ό μνμ§λ§ atmμ κ³μ μ§ννκ³ μμ΅λλ€. μ΄κ²μ λν ν° μ°¨λ¨μ μ€ νλλ νμ¬ μΆμ λ μλ‘μ΄ μ λμ¨ μμ€ν μ΄μμ΅λλ€.
https://github.com/xtermjs/xterm.js/issues/1709 λ₯Ό μ°¬μ±νμ¬ λ§λ¬΄λ¦¬νλ κ²μ λ³Έμ§μ μΌλ‘ λμΌν κ²μ΄λ©° μ°λ¦¬λ λ¬Έμ λ₯Ό μΉ΄μ΄νΈ λ€μ΄νκ³ μΆμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
Ubuntu 18.04μ VSCode 1.31.1μμμ΄ λ¬Έμ κ° λ°μν©λλ€.
νμ΄ν ν€λ₯Ό μ¬μ©νμ¬ λͺ λ Ή κΈ°λ‘μ μμλλ‘ μ€ν¬λ‘€νλ©΄ μ€ννλ €λ λͺ λ Ήμ λλ¬νλ©΄ μ½μ μμλ κ°λ₯μ±μ΄ μλλ‘ μν°ν©νΈκ° μ νλ©λλ€.
λν μν°ν©νΈλ₯Ό μ νν ν νμλλ λ΄μ©μ΄ xtermμ λ©λͺ¨λ¦¬μμλ λ΄μ©κ³Ό λ€λ₯΄κΈ° λλ¬Έμ λͺ λ Ή νΈμ§μ΄ λ²κ·Έκ° μμ΅λλ€.
λ¨κ³ :
λ΄ ν둬ννΈμ μ΄λͺ¨ν°μ½μ μΆκ°νμ΅λλ€.
npm i
λͺ λ Ήμ λ΄λ¦¬λ €λ©΄ μμͺ½ νμ΄νλ₯Ό ν λ² λλ₯΄μμμ€.ν둬ννΈμ μΆκ° λ λΆλ
n
λ₯Ό νμΈν©λλ€..bashrc
μ ν둬ννΈμμ μ΄λͺ¨ν°μ½μ μ κ±°νκ³ μ©μ΄λ₯Ό λ€μλ‘λνλ©΄ λ²κ·Έκ° μ¬λΌμ§λλ€.