2014-07-09 1 views
2

저는 Visual Studio v12/VS2013에서 현재 F #을 사용하고 있으며 F# power tools으로 텍스트의 색을 지정하는 기능에 몇 가지 한계가 있습니다. VS2013의 텍스트 색상을 지정하는 데 사용되는 패턴/구문 일치를 사용자 정의하려면 어떻게합니까?

type Terrain = 
    | Water = 0 
    | Rock = 1 
    | Land = 2 

그래서 "물", "록"과 "토지"색상 화되어 나타납니다 :

은 내가 무엇을 찾고 있어요 것은이 같은 열거에 텍스트를 대상으로하는 것입니다. 도구> 옵션> 환경> 글꼴 및 색상 메뉴의 일반 경로를 통해 옵션을 찾을 수없는 것 같습니다. 그래서 VS2013이 F # 파일의 텍스트와 일치하는 방법을 어떻게 수정합니까?

이 질문을 좀 더 일반적으로하기 위해 텍스트 편집기에서 텍스트 또는 구문 패턴을 일치 시키십시오. 텍스트 편집기에서 정규 표현식이나 유사어를 정의하여 색상을 지정하는 것이 좋습니다.

+2

왜이 정규식에 태그를 지정 했습니까? –

+0

태그로 제안되었으며 대화의 맥락에서 유용하다고 생각됩니다. –

+0

질문의 문맥을 명확하게 할 수 있습니다. –

답변

3

Visual F # PowerTools에는 현재 열거 형 멤버를 색칠하는 옵션이 없기 때문에 옵션에 포함되어 있지 않으면이 작업을 수행 할 수 없습니다.

즉, Visual F # PowerTools 프로젝트는 오픈 소스이고 hosted on GitHub입니다. F# Compiler Service을 사용하여 F # 코드를 구문 분석하고 이해합니다. 따라서 이것을 F# PowerTools user voice에 기능 요청으로 기록하거나 자신에게 기여할 수도 있습니다.

Visual F # PowerTools는 컴파일러의 모든 정보를 가져오고 컴파일러는 식별자가 열거 형 멤버인지 아닌지를 확실히 알고 있습니다. 따라서이 정보를 Visual Studio에 노출해야합니다. 정규식이 없습니다 :-)

+0

나는 powertools가 github에 있던 어떻게 든 놓쳐 버렸음에 틀림 없어, 그 팁에 감사드립니다. F #의 주인 중 한 명으로부터 연락하는 것이 좋습니다. 이 기능을 powertools 팩에 통합하는 방법을 파악할 수 있다면 끌어 오기 요청을 제출할 것입니다. =) –

+0

이 댓글의 어떤 내용도 게시 한 내용을 빼앗기위한 것이 아닙니다. 여기서 구체적인 기능은 ** 의미 론적 강조입니다 **. 기본 구문 강조와 관계없이 특별한 비동기식 패스로 작동합니다. 기본 구문 강조 표시는 사용자가 입력하는 동안 최대 성능을 위해 격리 된 원시 토큰을 검사합니다. 시맨틱 강조 기능은 코드의 내부 표현에 대해 작동하여 "의미있는"항목을 추가로 색칠하므로 기능이 전체 편집기 성능에 영향을 미치지 않도록주의해야합니다. –

+0

@ 280Z28 맞습니다. 백그라운드 컴파일러는 이미 입력 된 정보를 입력하기 위해 형식 검사를하고 있습니다. 따라서 열거 형의 의미를 추가하면 성능 오버 헤드가 추가되지 않습니다. 배경 컴파일러는 이미이 작업을 수행합니다. 하지만 예 - 파일을 연 후에 색이 약간 비동기 적으로 표시됩니다. –

관련 문제