連絡先 Hikwareホーム
Hikware.Tech
自分用の覚え書きをそのまま公開。参考程度にどうぞ。

Tabでスニペット展開するのやめて!

公開日 2017/09/04
最終更新 2017/09/04
  • Visual Studio でコードを打ってる最中に何気なくTabを押すと全く予想外のスニペットが展開されて頭に来るので、キーを変更するか無効化したい。

ほんとキライ!

 Visual Studio のエディタでは、スニペット登録された単語に続いて Tab を押すとスニペットが展開される。たぶん彼らの常識的には、コーディングで単語に続けて Tab を押す人は普通いないだろうという想定でそうしたんだろうけど、僕は昔から型と変数名の間に Tab を打つ癖があるのと、似た処理を並べる時に桁を揃えたがるのでよく誤動作する。例えば、

Exception   e;

とか書こうとして Exception の後に Tab を押そうものなら

[Serializable]
public class MyException : Exception
{
    public MyException() { }
    public MyException(string message) : base(message) { }
    public MyException(string message, Exception inner) : base(message, inner) { }
    protected MyException(
        System.Runtime.Serialization.SerializationInfo info,
        System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
}

とかもう、何が起きたのか訳が分からんようなビックリ展開されるし、

MyCheckBox.Text     = "タイトル";
MyCheckBox.Checked  = false;

などと = の位置を揃えようとしただけなのに、

MyCheckbox.Text     = "タイトル";
MyCheckbox.checked
{

}

とかオーバーフローチェックに展開される。つーか大文字の Checked まで無理やり checked に展開するのは頭悪すぎだろ。ちなみにこれやられるまで、オーバーフローチェックという仕様の存在すら知らんかったけどね。C#は知らん機能多いなぁ。

やめさせたい死ね!

 と、ここまで長々と全部グチなんだけど、本題のやめさせる方法。調べてみたものの、キーを変える方法も、スニペット機能自体を無効にする方法もないぽい。死ねばいいのに。できるのは、デフォルトで登録されてるスニペットを削除するか、Tab押下時にマクロを仕込む?(未検証。詳しくは下記参考サイト)くらい。僕はスニペット全削除で困らんので、それでいいや。

 あ、先に言っときますが、削除すると元の設定にはもう戻せませんので心してやりましょう。元に戻すには Visual Studio を再インストールするしかないかと。

 てことで削除方法。

  1. メニューから ツールコード スニペット マネージャー
  2. 言語CSharp
  3. 場所Visual C# を選択して 削除

とすれば、とりあえず上記のスニペット誤爆はなくなる。徹底的に撲滅したければ全部削除すればよろし。チェックボックスで個別に無効化とかできれば楽なんだけど、フォルダ単位での追加、削除しかできないぽい。死ねばいいのに。