等幅フォント使用してもVSCodeのインデントがズレる問題に、どのように対処しているか?
Discussion
Closed
VSCodeはエディタ基底部分(Monaco Editor)の仕様として、一部の全角記号(αなど)を「半角1文字の幅」であると判定してインデントを行うため、記号を含む行でインデントずれが発生します。
例えば、『A<タブ>B』と入力するとBは 5文字目の位置 に表示されますが、『α<タブ>B』と入力するとBは 6文字目の位置 に表示されます。
これは一部の全角記号の文字幅が、英語圏では半角、東アジア圏では全角で表示される「Ambiguous; 曖昧」と定義されていることに起因し、エディタの設定でインデント幅を正しく判定させることはできないと思います。
( 参照: https://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85 )
VSCodeは広く普及しているため多くの人がこの問題を体験していると思いますが、皆様はこの問題にどのような対処をしているでしょうか?
- ズレを許容している
- スペースの追加をその都度、手動で行って対処している
- 全角記号を使わない(→の代わりに->を使うなど)ようにしている
- 実は全角記号を半角2文字の幅だと判定させる方法がある
……など。