Posted at

Visual Studio Codeでバックスペースに悩まされたら

More than 1 year has passed since last update.


TL;DR


  • VSCodeで日本語入力マジ鬼門

  • VSCode側では対応予定ないみたい

  • pre-commit hookでもって、せめてコードには残らないようにしてやろう


対象読者 or 前提条件 or 環境

VSCodeで、バックスペースの混入に悩まされている人


さらばATOM

最近ATOMのgoプラグインの開発が滞ってる感があったので、Visual Studio Codeへ乗り換え中です。

ところがどっこい、罠がありました。


VSCodeの日本語入力問題

最近Slackでも問題になった「Mac・IME・Chromiumの組み合わせでバックスペースがゴミとして入力されちゃう問題」が、Visual Studio Codeでも一部影響を受けているようです。

Markdownなどを書いていると、日本語の合間合間に \b(backspace;0x08) が入ってしまいます。

https://github.com/Microsoft/vscode/issues/24981

https://bugs.chromium.org/p/chromium/issues/detail?id=714771


特段の対応予定は無いみたい

VSCode的には、Chromiumの最新版が来るのを待つらしい。

それはエディタとしてどうなの。

https://github.com/Microsoft/vscode/issues/24981

だからvimを使えと


ATOMは?

Electronといやあ、Atomはどうなんだよと思ったら、Electronのバージョンが古いために問題になってないみたい。

ai-analyst-back 2017-06-20 19-32-15.png

(現時点での最新は1.6.x)

それはそれでどうなんだ…


いくらなんでもCommitされるのは困る

編集時に意図しない文字が紛れ込むのは1億歩くらいゆずって エディタではなくクソを吐く何かとして 認めてやるとして、いくらなんでもそれがcommitされてしまうのはあまりにもダサいので、pre-commit hook でなんとかしようと思います。


必要なもの


  • ggrep(gnu-grep)

brew install grep とかしましょう


やるべきこと

.git/hooks/pre-commit に、以下コマンドを追加(または新規作成)します。

! git diff --cached --name-only | xargs -n1 ggrep -Hne $'\b'

.git/hooks/pre-commit に実行権限を付与するのを忘れないように。


参考情報

pre-commit hook の使い方

http://qiita.com/quattro_4/items/59fdf8b9aa9ef48ecbdf


あとがき

VSCodeがエディタになりますように。