2016-09-26 2 views
1

저는 JSLint와 Atom-beautify (jsbeautify의 프런트 엔드라고 생각합니다)를 Atom에 설치했습니다. 일반적으로 꽤 멋쟁이입니다. 단, 삼항 연산자에 관해서는 불만입니다 (올바른 용어라고 생각합니다). 내가Atom - JSBeautify와 JSLint는 3 진 줄 바꿈에 대해 동의하지 않습니다.

var theWindow = (thisObj instanceof Panel)? thisObj: new Window("palette", thisObj.scriptTitle, undefined, {resizeable: true}); 

을 할 경우 JSBeautify이 모양을 만들 것입니다 그래서 :

var theWindow = (thisObj instanceof Panel) 
    ? thisObj 
    : new Window("palette", thisObj.scriptTitle, undefined, {resizeable: true}); 

그리고 JSLint 나쁜 줄 바꿈에 대해 불평 할 것이다.

enter image description here

은 내가 JSBeautify 문서와 JSLint 설명서를 한 번 봐 가지고,하지만 난 삼항 구문에 대한 하나의 동작을 변경하기위한 모든 옵션을 찾을 수 없습니다. 누구든지 내 코드를 아름답게 할 때마다 내 모든 삼항 함수를 수동으로 다시 포맷 할 필요가 없도록 어떻게 변경할 수 있습니까? 나는 그들이 동의하는 한 어느 것이 우선 하든지 상관하지 않는다.

답변

1

간단히 옵션 "preserve_ternary_lines":true.jsbeautifyrc 에 추가하십시오. 3 진수 표현식이 더 이상 손상되지 않습니다. 원자 아름답게에서

관련 변화 : atom-beautify/pull/726

1

당신은 약 jslint ("보풀") 요구하고 있지만 사용중인 린터 실제로 jshint이다 ("힌트".)

jshint

.jshintrc 파일을 만들고 허용하려면 다음 규칙을 추가 여러 줄 문자열

또한 true로 "laxbreak"을 설정해야
{ 
    "multistr": true 
} 

, 이것은 아마도 안전하지 않은 라인 도둑질을 용인 gs. 당신이 JSLint의 기본 옵션을 재정의 할 .jslintrc 파일을 만들 수 있습니다,

다시 사용할 수있는 모든 옵션

jslint에 대한 example를 참조하십시오. 참조 용으로 example을 사용하십시오.

+0

그리고 나는 질문을 그 이유는. JSLint 문서에서는 JSBEautify가 처리하는 방식에 만족한다고 말합니다. 실제로 온라인 jslint 페이지는 줄 바꿈을하지 않는 한 불평합니다 *. 어쩌면 JSLint의 Atom 구현이 손상되었을 수도 있습니다. – stib

+0

방금'jshint'와'jslint'를 섞어 놓은 것을 보았습니다. 그래서 그에 대한 답을 편집했습니다. – idleberg

+0

네 말이 맞아. 내가 처음 시작했을 때 나는 linting 개념을 처음 접했고 JSLint 대신 JSHint를 설치했다. (몇 가지를 설치하고 .jsx 파일을 수행하지 않는 JSLint를 포함하여 작동하지 않는 것들을 삭제했다.) 이제 JSCS를 발견 했으므로 JSCS가 더 이상 사용되지 않는다는 것을 알았습니다. 이제는 모두 아름답게하고 linting하는 ESLint로 전환했습니다. – stib