2014-02-26 65 views
0

我使用Visual在Visual Studio 2008中我定義了一堆的向前聲明文件,它們都具有基本相同的格式幫助X:修剪文件名協助片段/宏

namespace ns1 { namespace ns2 { 
    class SampleClassName; 
    boost::shared_ptr<SampleClassName> SampleClassNamePtr; 
}} 

顯然,我還會根據我們的編碼標準(並且名稱空間不是佔位符)放入標題警衛,生成的文件註釋和其他內容。

問題出在這裏:我們將這些文件命名爲SampleClassNameForward.h,因此使用$ FILE_BASE $佔位符將不會正確工作。有沒有辦法讓我應用正則表達式,並在擴展後從$ FILE_BASE $中刪除「Forward」,但在將片段粘貼到我的文件之前?如果我能做到這一點,那麼我可以完全自動生成這些前瞻性聲明,併爲我自己(和我的同事)節省大量時間。

回答

1

不,Visual Assist沒有任何支持正則表達式修改文件名的工具,正如你所期望的那樣。

另一種方法是創建一個VA片段,用於在臨時文件中創建代碼塊。

  • 創建一個包含所有樣板代碼的VA片段。
  • 將$ SymbolName $ Forward.h添加到代碼的頂部。
  • 調用空白臨時文件中的代碼片段。
  • 在編輯器的頂部剪切生成的FooForward.h文本。
  • 全選(ctrl + a)。
  • 調用VAssistX |重構|將選擇移至新文件
  • 此時,系統會提示您輸入新文件的名稱,並粘貼以前剪切的文本(FooForward.h)。

選擇移到新文件將在同一目錄與當前文件創建新的文件,並將其添加到它的。

+0

感謝您的替代解決方案相同的項目。我們使用一個定製的CMake工具包來生成我們的VS解決方案,所以將選擇移動到新文件並不完全是我需要將文件添加到項目中的。這就是說,你的建議仍然有效。我通常創建3個文件(頭文件,轉發頭文件,源文件),並在將樣本代碼添加到CMake之前運行我的片段代碼片段。我可以定義正向代碼片段,在正常的頭文件中運行它,剪切代碼,運行正常的頭文件片段,並將剪切後的代碼粘貼到轉發文件中。比手工輸入更好! – iamtheddrman