Pulsar 태그 색상 안나옴 해결 방법 (Tree-sitter 끄기)

Pulsar 태그 색상 안나옴 문제는 최근 업데이트 이후 꽤 자주 발생하는 이슈입니다.
저도 Pulsar 1.131.1 x64 + One Dark Syntax Theme 환경에서 작업하다가 갑자기 아래와 같은 현상이 나타났습니다.

  • HTML 태그 색상이 사라짐
  • PHP 코드와 HTML 코드 구분이 안됨
  • 전체 코드가 거의 동일한 색상으로 보임

특히 HTML 안에 PHP가 들어있는 코드에서 문법 하이라이트가 깨지는 경우가 많았습니다.
예를 들어 이런 코드입니다.

<pre class="language-php">
<code><?php echo $row["source_user_form"]; ?></code>
</pre>

업데이트 이후 갑자기 태그 색상이 적용되지 않아 가독성이 크게 떨어지는 문제가 발생했습니다.

Pulsar 태그 색상이 안 나오는 이유

Pulsar 업데이트 이후에는 아래 세 가지 원인이 가장 많습니다.

  1. language-php 패키지 비활성화 또는 충돌
    업데이트 과정에서 패키지가 비활성화되거나 충돌이 발생할 수 있습니다.
    • PHP 코드 하이라이트가 사라짐
    • HTML / PHP 구분이 안됨
  2. Syntax Theme 문제
    Syntax Theme가 정상적으로 적용되지 않는 경우도 있습니다.
    특히 One Dark 테마에서 간헐적으로 발생합니다.
  3. Tree-sitter 파서 충돌 (가장 흔함)
    최근 Pulsar에서는 Tree-sitter 파서를 사용하여 문법 하이라이트를 처리합니다.
    하지만 특정 버전에서는
    • HTML + PHP 혼합 코드
    • 템플릿 코드
    • 마크업 내부 PHP 코드

에서 하이라이트가 깨지는 이슈가 보고되고 있습니다.

Pulsar 태그 색상 문제 해결 방법

해결한 방법은 3가지 정도 입니다.

  1. language-php 패키지 재설치
    Settings → Packages → language-php
    • language-php 비활성화 후 다시 활성화
    • 또는 삭제 후 재설치합니다.
  2. Syntax Theme 변경 후 다시 원래 테마로
    Settings → Themes → Syntax Theme
    • 다른 테마로 변경 후 다시 One Dark로 변경
    • 테마 캐시가 초기화되면서 해결되는 경우도 있습니다.
  3. Tree-sitter 끄기 (가장 효과적인 방법)
    Settings → Core
    • 아래 옵션을 체크 해제 Use Tree-sitter Parsers
    • 체크 해제 후 에디터를 다시 보면 문법 하이라이트가 정상으로 돌아옵니다.

Tree-sitter 끄면 경고가 뜨는데 괜찮을까?

Tree-sitter를 끄면 아래 경고가 표시됩니다.
Tree-sitter is off (Low Performance Warning)
이 메시지는 정상적인 안내 메시지입니다.
의미는 다음과 같습니다.

  • Tree-sitter를 끄면 문법 분석 성능이 약간 느려질 수 있다는 안내
  • 기능 문제 없음, 에디터 사용에는 영향 없음

하이라이트가 정상이라면 그대로 사용해도 전혀 문제 없습니다.