にうむろぐ

暇なときに何か喋ります

mac vscode ^^H

環境

MacBook, Mojave 10.14
VSCode 1.28.0

症状

なんだか最近(9月〜?)、macvscode で書いた TeX ファイルをタイプセットしようとするとText line contents an invalid character.とエラーが出て、タイプセットに失敗するようになった。

f:id:geniusium:20181009225807p:plain:w400

エラーを見てみると入力した覚えのない^^Hの文字が入力されており、これが原因でタイプセットに失敗してるらしい。

原因

^^Hと表示されているのはバックスペースの制御文字で、なぜかこれが日本語入力時にバックスペースを押すと入力されてしまう。詳しくは下記のサイトを参照してほしいが 、結局はエディタの方の問題で修正待ちらしい。

解決

vscode拡張機能「Remove backspace control character」を用いて、ファイル保存時などに制御文字を自動で消去する。
marketplace.visualstudio.com

方法

vscode拡張機能「Remove backspace control character」をインストールして、settings.json

"ctrlchar-remover.pattern": "[\\u0008]",
"editor.formatOnSave": true,
"editor.formatOnType": true,

を追加。これで⌘+SEnter;を入力時にバックスペースの制御文字が自動で消去される。
詳細は下記サイトに日本語で書いてあるのでそれを参照。
github.com

おわりに

私の環境では今年の9月ぐらいからこの症状が出てきたのだが、そのころの vscode のアプデで改悪されたのかな? Windows だと大丈夫なのか?
とりあえずエディタは自動アプデをオフにしときましょう(反省)。