こんにちは。篠原です。
今回は小ネタですが、最近ハマった点を1つ。
私がコーディングを行う際、頻繁に使用するのが、Microsoft製のVisual Studio Code(以後VSCodeと呼称)です。
利点を挙げますと…
などなど。パパッとコードを作成/編集するときに、痒いところに手が届く使い勝手の良さがあります。
このエディタの興味深いところは他にもあります。
仕事上で手順書や開発標準、引継ぎ資料のExcelを作成するにあたり、ソースコードを載せたいと思ったとき、このVSCodeからコピペを行うと、エディタ上の表示色や斜体などの書式も含めて貼り付けしてくれるんです!
これは便利…と思って、これまで何かと多用していました。
ある日、VSCodeでJSONを編集し、Excelにその内容を貼り付けしました。
今回はコピペでそのまま使用できるサンプルとして掲載するため、書式をコピーしないよう値貼り付けで実施。
そのJSONをExcelから一部コピーしてプログラムに使用したところ、JSON読み込みでエラーが発生。
ぱっと見、JSONの要素名も文字コードもおかしくない。
なぜ。。
実はVSCodeからExcelに値貼り付けを行った際、半角スペースがノーブレークスペース(nbsp)に変化してしまっていて、それが原因で発生していました。
ノーブレークスペースとは、そこで改行を発生させない意味を持つ特殊なスペースで、HTMLでよく見かける文字ですが、半角スペースとは別の文字です。
値貼り付けしたのにこうなるとは…。
こうした、一見すると見えない文字にハマるケースがたまにあることから、私は極力スペース群をエディタ上に表示する設定にしています。
VSCodeで空白文字を表示する設定にすると、半角スペースは「・」で表示してくれますが、nbspに変わっていた箇所は何も表示されません。
おかしいなと思った場合は疑ってみましょう。