오늘 Xcode 4로 업데이트되었고 사용자 정의 텍스트 매크로가 더 이상 작동하지 않습니다. Xcode 4에서 맞춤 매크로를 사용하는 방법에 대한 정보를 찾을 수 없습니다. 그래도 가능합니까? 누군가 해결책을 생각해 내면 알려주세요.Xcode 4에서 사용자 지정 텍스트 매크로를 어떻게 만듭니 까?
현재 내 'ObjectiveC.xctxtmacro'파일이있는 디렉토리입니다. ~/라이브러리/응용 프로그램 지원/개발자/공유/Xcode/사양
오늘 Xcode 4로 업데이트되었고 사용자 정의 텍스트 매크로가 더 이상 작동하지 않습니다. Xcode 4에서 맞춤 매크로를 사용하는 방법에 대한 정보를 찾을 수 없습니다. 그래도 가능합니까? 누군가 해결책을 생각해 내면 알려주세요.Xcode 4에서 사용자 지정 텍스트 매크로를 어떻게 만듭니 까?
현재 내 'ObjectiveC.xctxtmacro'파일이있는 디렉토리입니다. ~/라이브러리/응용 프로그램 지원/개발자/공유/Xcode/사양
텍스트 매크로가 정의되는 방식 및 게시 위치가 변경됨 - 텍스트 매크로가 코드 조각으로 변형되었습니다.
당신이 할 수있는 일은 새로운 코드 스 니펫을 만들고 (무엇이든 코드 스 니펫 창에 텍스트를 끌어다 놓은 다음) 코드 조각의 현재 형식을 찾고 (매크로) 현재 매크로를 거기로 마이그레이션하는 것입니다. 그들이가는
디렉토리는 다음과 같습니다
가 좋은 점은E4B300B5-E0EA-4E46-9963-6E9B2111E578.codesnippet
, 당신이 UUID 이름을 사용할 필요가 없습니다 :
는~/Library/Developer/XCode/UserData/CodeSnippets
거기에서 당신은 같은 이름의 파일을 볼 수 있습니다 - 그 중 하나를 "MyTest.codesnippet"이라는 파일에 복사 할 수 있었고 XCode는 여전히 그것을 읽습니다.
기존 매크로 당 하나의 파일이 있으므로 (이전 .xctxtmacro 파일에 일반적으로 매크로가 있으므로) 매개 변수 구문이 변경되지 않았으므로 실제 매크로 텍스트를 그대로 사용할 수 있습니다 매크로 주변의 모든 메타 데이터가 실질적으로 변경되었습니다). XML 안전 구문 <
/>
으로 정의 된 매개 변수의 "<"/ ">"부분을 XML plists로 변환해야합니다. 예를 들어, NSLog(@"Hello Nurse: %@",
것을 생산하는 간단한 매크로의 내용);
"간호사"입력 할 때 : 텍스트 매크로에서 누락 된 코드 조각의 한 측면은 당신이 사용하는 것입니다
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDECodeSnippetCompletionPrefix</key>
<string>nurse</string>
<key>IDECodeSnippetCompletionScopes</key>
<array>
<string>All</string>
</array>
<key>IDECodeSnippetContents</key>
<string>NSLog(@"Hello Nurse %@", <#Thing#>);
</string>
<key>IDECodeSnippetIdentifier</key>
<string>E4B300B5-E0EA-4E46-9963-6E9B2111E579</string>
<key>IDECodeSnippetLanguage</key>
<string>Xcode.SourceCodeLanguage.Objective-C</string>
<key>IDECodeSnippetTitle</key>
<string>TestNurse</string>
<key>IDECodeSnippetUserSnippet</key>
<true/>
<key>IDECodeSnippetVersion</key>
<integer>2</integer>
</dict>
</plist>
하는 것으로 코드 매크로를 활성화 할 때 !
을 <#!ReplaceParam!#>
다음에 추가하여 선택한 텍스트가있는 매개 변수를 정의 할 수 있어야합니다. 코드 조각에서 선택한 텍스트에 코드 조각을 적용 할 수있는 방법이없는 것 같습니다. , 당신은 그것을 새로운 것으로서 끌어낼 수 있습니다. 그러나 매개 변수는 여전히 정상적인 매개 변수로 작동합니다.
심층 답변을 부탁드립니다. 나는 커스텀 텍스트 매크로를 많이 의지했고 이것은 나를 죽였다. 그리고 그것은 매우 이상합니다. 나는 당신이 내 log 문에 'Hello Nurse'를 항상 포함한다는 것을 알았습니다. ;) – Christine
새로운 시스템이 조금 나아졌습니다. 더 많은 사람들이 코드 스 니펫을 만들 수 있습니다. 이제는 디렉토리와 파일을 만들 필요가 없기 때문입니다. 또한 완성도가 더 좋아졌고, 완성도를 입력하고 수동으로 Ctrl-로 인식해야했습니다. ,하지만 이제는 완성과 히트 리턴을 입력하기 만하면됩니다. –
이것이 의미하는 바가 확실하지 않지만 <#paramName#>을 사용하여 매개 변수를 정의 할 수 있습니다. –