[英]Xcode refactor name of file
眾所周知,我們可以通過“重構->重命名”選項更改Xcode中創建的文件的名稱(通過在@interface關鍵字之后選擇類名稱)。
它運行良好,但是我發現它不會更改/重命名標題注釋中的類名稱。 我知道這是次要的,但只是想知道,這是“重命名”選項的默認行為,還是我做錯了什么? 在標題注釋中反映它的解決方案是什么?
謝謝
您必須手動搜索並替換所有出現的舊文件名。 Xcode的重構工具非常有限。 Xcode無法自動重命名注釋中的標記。
如果您經常重構代碼,則可能需要查看AppCode ,它是一種擁有更好重構工具的Objective-C IDE。 AppCode可以在注釋中重命名標記。
重構僅在代碼中尋找符號……這意味着您沒有做錯任何事情。
如果名稱類似於AMGMainViewTableController
,則應該可以進行“查找並替換”(在工作區中“編輯”->“查找”->“查找並替換”)...但是我會避免使用較短,不太具體的內容類名稱可能是較大名稱的一部分,例如AMGMainViewTable
,它將與AMGMainViewTableController
沖突。
我已經編寫了一個bash腳本,您可以將其添加到Xcodes行為中,並在需要時手動執行它。 當然,它也可以在構建階段中使用。
重命名
cd $XcodeWorkspacePath
cd ..
find * -type f \( -name '*.h' -or -name '*.m' -or -name '*.mm' -or -name '*.swift' \) -exec sh -c '
for file do
filename=$(basename "$file")
if egrep -m1 "(\/\/ .*(\.h|\.m{1,2}|\.swift)+ *$)" "$file"
then
if grep -Fxq "// $filename" "$file"
then
echo "$file - Correct"
continue;
else
sed -E -i.bak "s/(\/\/ .*(\.h|\.m{1,2}|\.swift)+ *$)/\/\/ $filename/" "$file"
echo "$filename - Wrong\n^^^^^^^^^^^^^^^^^^^^^^^^^^"
fi
fi
done
' sh {} + &> rename.out
不要忘記使腳本可執行
chmod + x
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.