Xcode는 지역을 지원합니까?
-
08-07-2019 - |
문제
Xcode는 비주얼 스튜디오 스타일과 비슷한 것을 지원합니까? #region
임의의 코드 폴딩에 대한 지침?
해결책
아니요, Xcode의 다양한 정의 된 스코핑 레벨에서 코드 만 접을 수 있습니다.
그러나 작은 트릭을 사용하여 기능 메뉴를 통해 탐색 할 수 있습니다.
#pragma mark
기능 메뉴에 다음 마크가 표시되는 그룹화를 만들 수 있습니다. 레이블이 하이픈 인 경우 분리기가 함수 메뉴에 삽입됩니다.
또한 주석의 다음 레이블이 함수 메뉴에 나타납니다.
// MARK:
// TODO:
// FIXME:
// !!!:
// ???:
분명히 #Pragma Mark가 휴대용이 아니기 때문에 휴대용 응용 프로그램을 구축하고 이해하지 못하는 #Pragma 지시문을 무시하지 않는 컴파일러와 함께 작동 해야하는 경우 주석 스타일 마크는 괜찮습니다. 대안.
다른 팁
나는 이것을 위해 지옥에 갈 것이지만 여기에 간다 :
주어진 파일의 맨 위에, put
#define FOLD 1
무언가를 접고 싶은 곳마다 다음과 같은 if 블록으로 싸십시오.
if(FOLD) {
// your code to hide
// more code
}
그것은 당신이 그것을 보지 못하게 할 것입니다.
그것은 당신이 가장 원하는 곳, 즉 기능 또는 방법 그룹 주변에서 작동하지 않습니다.
내부 조건부 나 루프가없는 길고 선형 방법 내부에서 유용 할 수 있지만 일반적인 Mac OS X UI 코드에서는 이러한 방법이 일반적이지 않지만 큰 숫자 또는 그래픽 크런치 코드를 작성하는 경우 그룹에 도움이 될 수 있습니다. 것들.
그리고 if (pold)는 완전히 불필요합니다. 메소드 또는 함수 내부의 버팀대를 사용하면 Xcode가 접습니다.
이 방법을 시도하십시오 :
//region title1
{
//region Subtitl1
{
}
//region Subtitl2
{
}
}
그것은 그렇게 할 수 있습니다 :
.NET 스타일 영역에 대한 지원이 없으면 모든 기능을 동시에 붕괴시킬 수 있다는 것이 다음으로 가장 좋은 것입니다.
명령-옵션-옮기다-왼쪽 화살표모든 것을 무너 뜨립니다.
명령-옵션-옮기다-오른쪽 화살표모든 것을 확장하려면.
Xcode는 마지막으로 붕괴 된 함수의 상태를 기억합니다.
원하는 코드를 괄호 안에 넣으면 접이식 영역이됩니다.
그러나 브래킷은 변수 범위를 정의한다는 점을 명심해야 하므로이 코드에는 이러한 브래킷 외부에 사용될 변수 선언이 없어야합니다.
방금 찾은 멋진 솔루션 중 하나 :
프로젝트를 하나의 큰 네임 스페이스에 넣으십시오. 소스 파일의 개별 섹션에 대해이 네임 스페이스를 닫고 다시 열어줍니다.
namespace myproj { // members of class MyClassA
void MyClassA::dosomething()
{
}
void MyClassA::dosomethingelse()
{
}
} // members of class MyClassA
namespace myproj { // members of MyClassB
void MyClassB::dosomething()
{
}
void MyClassB::dosomethingelse()
{
}
} // members of MyClassB