2011-06-15 68 views
0

最初我們計劃對類變量使用m_前綴的舊約定。但現在需要將所有m_VaribaleName替換爲this.variableName,即刪除m_並在m_小寫後創建第一個字符。從變量名稱中刪除m_前綴

我可以用這個搜索並替換m_。但是這不會將變量的第一個字符重命名爲小寫。在搜索並替換之後,如果我使用重新分解工具將VariableName重命名爲variableName,則還會使用VariableName重命名已存在的屬性。

我想知道是否有任何正則表達式,工具,宏使此任務自動化。

回答

0

Resharper將突出顯示解決方案中的所有這些錯誤,並單獨修復它們,但我不認爲它可以使用單個命令修復所有這些錯誤。不過,它很容易在它找到的錯誤之間導航。

+0

Resharper將m_VariableName更改爲_mVariableName – Mohit 2011-06-15 10:33:43

0

你可以在emacs中做到這一點。

打開文件(C-x C-f)並執行M-x replace-regexp。 假設變量的名稱是Variable

您的正則表達式查詢將取代\(V\)ariable\,(downcase \1)ariable

\,告訴emacs以下語句是一個lisp表達式。

此外,如果你想在同一時間替換m_,你可以替換m_\(V\)ariable\,(downcase \1)ariable

This will同時照顧文件中的所有實例,並且emacs記住您的最後一個replace-regexp查詢,因此您不必爲多個文件重新輸入它。此外,還有一種方法是使用DIRED模式同時對多個文件執行replace-regexp。

打開上DIRED模式(C-x C-f DIR_NAME)的目錄,由(你可以導航使用np)會在他們按m標記你想要的文件。一旦您要處理的文件被標記爲Q(首字母大寫)。您將得到與執行單個文件相同的regexp提示,請輸入正則表達式RET替換和RET。它會一次打開每個文件,按!爲每個文件替換該文件中的所有reg-exps。

之後,您仍然需要保存文件。你可以用C-s然後!來完成。