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

  • 7
    いいね
  • 0
    コメント

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がエディタになりますように。