Visual Studio 2012で新しく作成されたヘッダーファイルにinclude guardsを自動的に挿入したいと思いますか?Visual Studioでインクルードガードを挿入する速い方法
編集:私は#pragma onceとそのコンパイラによる幅広いサポートを認識しています。しかし、私たちのコーディングスタイルでは、ガードをインクルードする必要があります。
Visual Studio 2012で新しく作成されたヘッダーファイルにinclude guardsを自動的に挿入したいと思いますか?Visual Studioでインクルードガードを挿入する速い方法
編集:私は#pragma onceとそのコンパイラによる幅広いサポートを認識しています。しかし、私たちのコーディングスタイルでは、ガードをインクルードする必要があります。
#pragma once
?
しかし、私はあなたのために#ifndef
などを自動的に挿入するものは認識していません。
本当に役に立たない... – codeling
プラグマは一度はデフォルトであり、質問に実際には関係しません。それは既に問題に言及されています。 – saurabheights
@saurabheights:質問の部分が追加されていることに注意してください。この回答... – Joey
C++にタグを付けるので、組み込みウィザードでクラスを追加する必要があります。 #pragma onceディレクティブが作成されます。これは他のコンパイラでも利用できます:#pragma onceですので、plattformの互換性を損なうことはありません。あなたは何ができるか
は、しかし、このようなVSマクロを作成するには、次のとおりです。
Option Strict Off
Option Explicit Off
Imports System
Public Module HeaderGuard
Sub InsertHeaderGuard()
Dim filename As String = DTE.ActiveDocument.Name
filename = filename.ToUpper().Replace("."c, "_"c)
DTE.ActiveDocument.Selection.Text = "#ifndef " + filename
DTE.ActiveDocument.Selection.NewLine()
DTE.ActiveDocument.Selection.Text = "#define " + filename
DTE.ActiveDocument.Selection.NewLine(2)
DTE.ActiveDocument.Selection.Text = "#endif /* " + filename + " */"
DTE.ActiveDocument.Selection.NewLine()
End Sub
End Module
マクロサポートが削除されているVisual Studio 2012以降を使用している場合を除きます。 –
さて、あまりいいことではありません。しかし、それはそれのアドオンを作ることが考えられるかもしれません:http://stackoverflow.com/questions/12027485/alternative-to-macros-in-visual-studio-2012(それを試していない) – JeffRSon
@ RolfKristensen:マクロサポートを本当に削除しましたか?それはどうやって馬鹿だ! #ifdefスタイルのガードで新しいファイルを設定したり、クラスと関数をコメントで作成したりするような、VS2005のマクロのロードを作成しました。アドオンは、マクロと比較して作成するのが非常に手間がかかります。これはまた、レコードの一時マクロも消えたことを意味しますか? VSは本当に良いとされていましたが、リリースごとに悪化しているようです。現在、emacsに移行しています。 – Skizz
あなたはautohotkeyのようなツールを使用することができます。ここには疑問の質問に対するanswerがあります。それは次のようなコードスニペットと、選択したコードを囲むことができますのVisual Studio 2012の使用において
キーの組み合わせ
Ctrl+K,Ctrl+S
:
#if
、#ifdef
、#ifndef
、if
、class
、do
、enum
、もっと多く
..またはあなた自身を指定してください: http://msdn.microsoft.com/en-us/library/ms165394.aspx
ビジュアルアシストXをお持ちの場合は、#pragma once
があれば削除し、残りのテキストを選択して右クリックしてSurround with (VA)
=>#ifdef guard in a header
とすることができます。デフォルトを気に入らない場合は、VASSISTX
メニューに戻り、Tools
=>Edit VA Snippets...
マークを選択して、それを上書きすることができます。 – vkrzv
かなり単純なVSマクロを作成してください - 下の私の答えを見てください。その後、ホットキーを割り当てることができます。 – JeffRSon