js2-mode의 구문 검사기를 끄거나 켤 수 있습니까?


13

기본 설정이 js2-mode있습니다. 이것은 멋진 구문 강조 및 검사를 제공하지만 다른 스타일 세트로 프로젝트를 진행하고 있습니다 (특히이 새로운 프로젝트는 세미콜론을 사용하지 않습니다).

이로 인해 모든 코드 한 줄에 js2-mode경고가 표시됩니다.missing ; after statement

구문 검사를 비활성화 할 수있는 방법이 js2-mode있습니까?

아니면 다른 구문 검사기를 사용하는 방법이 있습니까?

.js파일에 대해 Flycheck 모드가 설치되어 실행 중이지만 구문 검사기가 활성화되어 있지 않습니다 (즉, 모든 검사기가 nil및 로 설정 됨 not found). 이들 중 하나를 활성화하고 내장 된 js2것을 비활성화하는 방법을 아는 것이 좋습니다 .

세미콜론 삽입에 대한 견해가 다양하다는 것을 알고 있지만이 프로젝트 "standard style"는 Flycheck에 구문 검사기가있는 검사기를 따르며 검사기를 전환 할 수 있는지에 관심이 있습니다.

답변:


17

경고는 Javascript에 대한 자체 구문 분석기를 구현하고 몇 가지 문제에 대해 경고하는 JS2 모드에서 발생합니다. 다른 답변에서 언급했듯이 관찰 한 특정 경고는 init 파일에서 js2-strict-missing-semi-warning설정 nil하거나 M-x customize경고를 해제 할 수 있는 사용자 옵션에 의해 제어됩니다 .

Flycheck와 함께 JS2 모드를 사용할 때 우리는 일반적으로 변수를 설정하여 JS2 모드의 모든 경고를 해제하는 것이 좋습니다 js2-mode-show-parse-errorsjs2-mode-show-strict-warningsnilFlycheck의 구문 검사 우수한 오류보고를 제공하는 거의 모든 경우에서와 같이.


javascript-standard현재 버퍼 의 구문 검사기 를 선택하려면을 사용하십시오 C-c ! s javascript-standard. .dir-locals.el다음 내용으로 프로젝트의 최상위 디렉토리에 파일 을 작성하여 특정 프로젝트에 대해이 구문 검사기를 영구적으로 사용할 수 있습니다 .

((js2-mode
  (flycheck-checker . javascript-standard)))

Emacs 는 디렉토리 아래의 파일을 방문 할 때 이러한 디렉토리 변수를 자동으로로드 하므로 프로젝트의 표준 구문 검사기를 자동으로 선택합니다.


어떤 이유로 js2-mode-show-parse-errors로 설정되어 있어도 nil오류가 계속 표시됩니다. C-h v js2-mode-show-parse-errors반환 js2-mode-show-parse-errors is a variable defined in js2-mode.el'. Its value is nil. Original value was t 하지만 여전히 밑줄이 표시됩니다. 이것이 왜 가능한지 아십니까?
Startec

아, 당신의 대답에는 작은 유형이 있습니다 js2-mode-show-strict-warnings nil. 이것을 편집으로 추가했습니다.
Startec

@Startec 오 실수를 고쳐 주셔서 감사합니다.
lunaryorn

2

이 특정 문제에 대해 경고하지 않도록 js2-strict-missing-semi-warning변수를 사용자 정의 nil하거나 js-mode대신 사용할 수 있습니다 js2-mode.

두 가지 옵션 중 스타일 가이드를 변경하는 것이 좋습니다. JS에서 자동 세미콜론 삽입은 함정입니다. 여전히, 나는 그것이 항상 가능하지는 않다는 것을 알고 있습니다.


4
-1 : 마지막 단락을 제거하십시오. 주제가 맞지 않습니다. 이 사이트에는 Javascript 스타일에 대한 설명이 없습니다.
lunaryorn

3
아니요 괜찮습니다. Javascript에 대해 20 년의 경험을 가진 엔지니어로서이 조언을 제공합니다. 확실히 현지 관습에 맞게 emacs를 적용하는 것은 가능하지만 (emacs가 가장 좋은 것입니다), 일부는 가치가있는 것보다 더 많은 문제가 있으며 자동 세미콜론 삽입이 그 목록의 맨 위에 있습니다. js2 모드의 동작을 조정하는 것이 가장 간단하므로 최선의 선택입니다. 나는 실제로 flymake에 대해 아무것도 모른다. 그래서 나는 당신을 도울 수 없다.
db48x
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.