개인적으로 Eclipse 를 너무나 사랑해서
다른 에디터나 IDE는 눈에 들어 오지 않는데…

Eclipse 에서 Ext JS나 Sencha Touch 가 잘 동작하지 않는 것 때문에 고민이 많다.
WebStorm을 구매 했으나, 협업 시 나만 WebStorm이면 팀원간 불편한 점이 많다.

그래서…

Sublime Text 를 사용해 보기로 했다.
일단. 빠르고 좋다.!!
왠지 세련된 vim 같은 손맛이다.

그런데, 잉? JavaScript 문법 검사를 안해주네??
그래서  JSLint 를 붙여보다.

순서

  1. JSLint 설치를 도와주는 Package Control 부터 설치 해야 한다.
  2. 설치된 Package Control 를 이용하여 JSLint를 설치 한다.
  3. JSLint 설정을 약간 바꿔 준다.

Package Control 설치

참네… 개발자 생활 하면서 설치자를 설치하긴 처음 인듯…
아무튼 Linux의  yum 과 비슷한 녀석으로 보면 된다.

참고 URL : https://sublime.wbond.net/installation#st2

콘솔을 연다.

CTRL + ` 키를 누르거나 View > Show Console 선택

아래 내용을 붙여 넣고  “Please restart Sublime Text…”문구가 보이면 재시작 한다.
그러면  Package Control 설치가 완료된다.
[Sublime Text 2]

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
[Sublime Text 3]
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

JSLint 설치

  • CTRL(맥은  Command) + Shift + P 입력
  • Package 입력
  • Package Control : Install Package 선택
  • JSLint 입력
  • sumlime-jslint 선택 (비슷한것이 있으니 주의!)

JSLint 설정 변경

  • Preferences > Package Settings > JSLint > Settings > User 선택

아래 내용을 붙여 넣고 저장 후 재시작 한다.

{
    // Don't agree with Crockford about whitespace usage
    "jslint_options": "--white",

    // 저장 시 자동 실행
    "run_on_save": true,

    // Ignore errors, regex
    "ignore_errors": [
        // Sencha 개발 할 때 아래 문구는 넣어두면 편리하다. 이렇게 보이게 된다. "jslint: ignored 1 errors."
        "'Ext' was used before it was defined."
    ],

    // debug flag.
    "debug": true
}