[英]Is it possible to customize the indent style of XCode?
例如,我不想在C ++代碼中縮進名稱空間,但是prefpane似乎沒有任何地方可以決定這種粒度。 有一些隱藏的配置文件或什么? 或者我只是運氣不好?
由於Xcode壓頭僅使用詞法分析器,而不使用AST,因此可以通過定義花括號來“欺騙”格式。
我有:
#define NAMESPACE_OPEN(_name) namespace _name {
#define NAMESPACE_CLOSE(_name) }
#define dsmsg_namespace_open NAMESPACE_OPEN(dsmsg)
#define dsmsg_namespace_close NAMESPACE_CLOSE(dsmsg)
即,一個通用的'NAMESPACE_OPEN / CLOSE'定義,以及一個特定於我最常用的命名空間'dsmsg'的定義。 然后,每當我想打開命名空間時,我都會使用
dsmsg_namespace_open
... code ...
dsmsg_namespace_close
丑陋的黑客,但我非常喜歡有一個特定的,名為'close'
我也嘗試過這樣做。
答案是,在XCode中進行代碼格式化的人似乎完全沒有意識到除了Objective C之外還有其他語言,或者除了Apple之外的編碼樣式。
這是一個人們希望在XCode中無法完成的事情列表。
最后一個需要一點討論。 有時,函數或方法名稱可能很長,以及它的第一個參數,所以你也希望能夠像這樣縮進:
someExcitingClass->AVeryLongMethodNameTraLaLaLaLa(
someLongExpressionOrVariableNameGoesHere,
anotherNameHere);
當然,您可能希望提取子表達式以使線條更短,但在實際代碼中,這一直出現,並且創建子表達式以使所有內容適合合理的線長度是令人討厭的。
這是一個可怕的恥辱,我真的不知道該怎么做。 我個人用emacs寫作,只是作為一個構建系統進入XCode,但是:-並不適合所有人。
我完全繞過Xcode的縮進,並有一個用戶腳本在當前顯示的文檔上調用uncrustify 。
#!/bin/sh
#echo -n "%%%{PBXSelection}%%%"
uncrustify -q -c ~/.uncrustify/sample.cfg -l oc+
#echo -n "%%%{PBXSelection}%%%"
筆記:
腳本設置:
從Xcode 4.3.1開始,沒有自定義命名空間縮進選項可用,但是我通過導航到Preferences-> Text Editing-> Indentation並禁用“Syntax-aware indenting”克服了這種煩惱。
另一種可能性是使用Articstic Style(astyle)。 有關如何使用automator和服務將astyle集成到XCode的教程可以在這里找到: http: //eatmyrandom.blogspot.com/2011/03/xcode-astyle-part-2-for-xcode-4x.html和http:/ /youtu.be/d8bbE6_OHGc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.