2010-11-24 2 views
2

Xcode 구문 강조 표시를 수정하고 싶습니다. 즉, 시각적으로 산만 해 보이는 'NSAsserts'를 많이했기 때문에 'NSAssert'로 시작하는 줄을 밝은 회색으로하고 싶습니다. 이렇게하면 NSAssert 행을인지 적으로 필터링하는 대신 코드 논리에 집중할 수 있습니다.회색조 NSAssert 행에 Xcode 구문 강조 표시 수정

+0

내 질문의 범위를 명확히하기 위해 XCode의 환경 설정에 들어가서 '글꼴 및 색상'의 '기타 모든 프리 프로세서 매크로'를 회색으로 바꿀 수 있음을 알고 있지만 "NSAssert"라는 단어가 회색, 전체 줄이 아님. 또한, 그것은 내가 바라는대로 솔루션의 벌금으로 처리되지 않습니다. –

+0

이것은 Xcode가 현재 할 수있는 최선의 방법입니다. – blueberryfields

+0

@blueberry - 답변처럼 들리네 ... –

답변

2

나는 이것들을 많이 사용하고 있으며, 나는 그 대답을 풀만큼 충분히 당신의 아이디어를 좋아했다. 음, 일종의 : NSAsserts를 새 항목으로 취급하는 방법을 찾지 못했지만 문구 형광펜에 주석으로 표시하는 방법을 연구했습니다.

  1. 해당 디렉토리 /Developer/Library/PrivateFrameworks/XcodeEdit.framework/Versions/A/Resources에서 디렉토리 ~/라이브러리/응용 프로그램 지원/개발자/공유는/엑스 코드/사양
  2. 복사 BaseSupport.xclangspec 만들기
  3. 새 복사본이 패치를 적용 :
 
--- /Developer/Library/PrivateFrameworks/XcodeEdit.framework/Versions/A/Resources/BaseSupport.xclangspec 2010-10-05 00:27:45.000000000 +0100 
+++ /Users/philwill/Library/Application Support/Developer/Shared/Xcode/Specifications/BaseSupport.xclangspec 2010-12-14 11:36:51.000000000 +0000 
@@ -100,9 +100,8 @@ 
     Identifier = "xcode.lang.comment.singleline"; 
     BasedOn = "xcode.lang.comment"; // for text macros 
     Syntax = { 
-   Start = "//"; 
-   EscapeChar = "\\"; 
-   Until = "\n"; 
+   StartChars = "/N"; 
+  Match=("//.*$","NSC?Assert[12345]?[[:space:]]*\\([^;]*\\)[[:space:]]*;"); 
      IncludeRules = ("xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark"); 
      Type = "xcode.syntax.comment"; 
     }; 

주의 사항을 :

  1. 이렇게하면 이스케이프 된 개행 문자를 포함하는 // - 의 내용이 엉망이됩니다. 그러지 마.
  2. 이론적으로는 구문 강조 표시가 약간 느려집니다. I 은 차이점을 발견하지 못했습니다.
  3. 이것은 일반적으로 // - comments를 허용하는 Xcode에서 사용하는 모든 언어에 영향을 미칩니다.
+0

정확한 대답은 아니지만 올바른 방향으로 나를 가리키고 있습니다. "Xcode는이 문제를 지원하지 않지만 "BaseSupport.xclangspec"해킹 해보세요. 나에게 잘 들립니다. –