Sublime Text에서 전체 JS 자동 완성 얻기


98

방금 Windows Vista에서 Sublime Text를 설치했으며이 게시물에 제공된 조언 , 즉 명시 적으로 설정하기 위해 조차도 View > Syntax > JavaScript > JavaScript이전에 입력 한 내용을 기반으로 한 제안 만 표시됩니다. SublimeCodeIntel 플러그인 도 설치 했지만 아무 소용이 없었습니다.

알다시피 "pars"를 작성하는 순간 Chrome 개발자 도구에서와 같이 "parseFloat"및 "parseInt"옵션이 표시됩니다.

감사!


8
이 2015 년 : 상황이 개선되지 않았습니다. 상자에서 아무것도 작동하지 않습니다. 8 년 된 편집자는 자동 완성 기능이 더 좋습니다.
Muhammad Umer 2015 년

아래 내 대답 @MuhammadUmer를 참조하십시오. 지금까지 작동합니다. 상자에서 .. 아름답습니다.
Steve Meisner

1
@SteveMeisner - 당신의 대답은 여기에 설명되어 있습니다 meta.stackoverflow.com/q/341163/73226
마틴 스미스

1
나는 대부분 "링크 전용"답변으로 대답했고 그 대답은 속았다. 그러나 여기에 내가 JS 인텔리 / 자동 완성에 대한했습니다 환상적인 패키지 : github.com/pichillilorenzo/JavaScript-Completions
스티브 마이스너

나 같은 누군가가이 문제를 다루는 경우를 대비해서. 이것이 제가 VS Code로 전환 한 이유입니다. JS 모듈 전체에서 자동 완성을 가져 오는 멋진 Intellisense 기능이 있습니다. 지금까지 그것을 즐기고 있습니다.
Sergiy Ostrovsky

답변:


77

제안은 (기본적으로) 현재 열려있는 파일의 텍스트와 정의한 스 니펫 또는 완성 ( ref )을 기반으로합니다. 더 많은 텍스트 제안을 원하면 다음을 권장합니다.

참고로 Sublime 커뮤니티를 최대한 활용하려면 Package control설치하는 것이 좋습니다 . 위의 옵션 중 일부는 패키지 제어를 사용합니다. 또한 Sublime을 사용할 때 효율성을 향상시키는 방법에 대한 모든 종류의 정보가 포함 된 tutsplus Sublime 튜토리얼 비디오를 적극 권장 합니다 .


1
멋진 Emmet 툴킷을 기반으로 찬성 및 승인되었습니다! 마음이 불고 있습니다. Chrome 웹 인스펙터만큼 JS만큼 많이 알지는 못하지만 그렇게 나쁘지는 않은 것 같습니다. (결국 내 근육 기억력을 향상시키고 싶습니다.) 반면에 Emmet이 당신을 위해하는 일은 놀랍습니다! 감사!
ezequiel-garzon

2
도움이되어 다행입니다. 나는 당신이 전체 튜토리얼 시퀀스를 보길 바랍니다. 거기에는 좋은 것들이 많이 있습니다.
DBN

1
그러나 그것은 무료가 아닙니다.
Jeff P Chacko

3
tutsplus 사이트의 광고 인 것 같습니다. 원래는 아니었지만 페이 월 뒤에 있지 않은 연결된 답변을보고 싶습니다.
dcmbrown

헤, 그래, 내가 그들을봤을 때 그것들은 모두 무료였다. 답변을 업데이트하여 페이 월 뒤에 있음을 알립니다.
dbn

66

Ternjs는 JS 자동 완성을위한 새로운 대안입니다. http://ternjs.net/

Sublime 플러그인

가장 잘 관리되는 Sublime Text 용 Tern 플러그인은 'tern_for_sublime'입니다.

'TernJS' 라는 이전 플러그인도 있습니다 . 유지 관리되지 않으며 Sublime Text를 충돌시키는 몇 가지 성능 관련 버그가 포함되어 있으므로 피하십시오.


2
ST3이 충돌합니다. 프로젝트가 유지되지 않습니다.
Chords

1
나는 그것을 경험하지 못했습니다. 어떤 패키지를 사용하고 있습니까? 내가 사용하고 github.com/marijnh/tern_for_sublime을
subhaze

2
답변 과 의견에 제공된 링크있는 것을 사용하는 것이 좋습니다 . 여전히 유지됩니다.
subhaze 2015-06-12

1
나는 그것이 '염분'이라고 생각하지 않지만 내가 링크 한 플러그인이 유지되지 않는다고 말하는 귀하의 의견이 잘못되었음을 지적하고 싶었습니다. github에 대한 최신 업데이트가 있기 때문입니다.
subhaze 2015-06-17

1
나는 댓글을 덜 짠 것이거나 짠 것이 아니도록 업데이트했습니다. : /이 댓글을 읽는 동안 사람들이 '멀리 지 않고'올바른 방향으로 나오길 바랍니다.
subhaze

41

이미 언급했듯이 tern.js 는 Sublime Text, Vim 및 Emacs 용 플러그인이 포함 된 새롭고 유망한 프로젝트입니다. 나는 한동안 SublimeTernJS를 사용해 왔으며 내가 얻은 제안은 표준보다 훨씬 낫습니다.

여기에 이미지 설명 입력

Tern은 프로젝트의 모든 .js 파일을 스캔합니다. .sublime-project 파일에 "libs"를 추가하여 DOM, nodejs, jQuery 등에 대한 지원을받을 수 있습니다.

"ternjs": {
    "exclude": ["wordpress/**", "node_modules/**"],
    "libs": ["browser", "jquery"],
    "plugins": {
        "requirejs": {
            "baseURL": "./js"
        }
    }
}

여기에 이미지 설명 입력


마지막 예제에서는 'src'제안을받지 못했습니다. 방금 (Sublime Text 3)를 설치하고 프로젝트 설정을 사용했습니다.
Rune Jeppesen

2
ES6 (ES2015) 스타일 자바 스크립트에 대한 지원이 있습니까?
Dan Esparza 2015 년

1
예, tern.js 프로젝트 사이트에는 지원되는 ES6 기능 목록이 포함되어 있습니다
eosterberg

1
무엇의 가치를 위해, 당신은 당신이 "제비 갈매기 숭고한은"사용 진술하고 있지만 ternJS 플러그인 ... 제비 갈매기 숭고한에 대한 링크 -> packagecontrol.io/packages/tern_for_sublime의 TernJS -> packagecontrol.io/packages/TernJS
subhaze

createTag가 img HTTP 태그를 반환하므로 selectedIndex 속성이 표시된다는 점에 놀랐습니다. 또한 selectedIndex는 img 또는 상위 요소가 아닌 HTTP 선택 태그에 속합니다. 이 두 가지 제안을 어떻게 얻었는지에 대해 그렇게 논평 하시겠습니까? JsTern이 실행 중에 createElement 호출을 해결할 수있는 능력이 있기 때문이 아니라 다른 파일에서 사용했기 때문이라고 생각합니다. 그럼에도 불구하고 selectedIndex를 제안하는 것은 의미가 없습니다.
알렉스


6

저는 Package Control에서 찾을 수있는 JavaScript Enhancements 라는 새로운 플러그인을 개발했습니다 . 그것은 사용 흐름 후드 (페이스 북에서 자바 스크립트 정적 형 검사기).

또한 스마트 자바 스크립트 자동 완성 (다른 플러그인 자바 스크립트 완성과 비교), 실시간 오류 , 코드 리팩토링자바 스크립트 프로젝트 생성, 개발 및 관리에 대한 많은 기능제공 합니다 .

제공하는 모든 기능을 알아 보려면 Wiki 를 참조하십시오 !

이 플러그인에 대한 소개는이 css-tricks.com 기사 에서 찾을 수 있습니다 . Sublime Text 3를 JavaScript IDE로 전환

몇 가지 간단한 스크린 샷 :


1
안녕 로렌조. 당신의 프로젝트에 대해 궁금 합니다만, 완성을 커스터마이징 할 때 어떤 옵션이 있는지 알고 싶습니다. 기본적으로 docu> document, document.que> 등과 같은 제안을 원 document.querySelector하지만 , 의미가 있다면 arr.forEa> 와 같은 여러 줄의 인수와 전체 함수 호출은 절대 원하지 않습니다 arr.forEach((object,index,array) => { /* newline */ });. 모든 완성 파일을 수동으로 편집하지 않고도 Javascript Enhancements로 비활성화 할 수 있습니까? 내 구조에 약간 집착하기 때문에 지금은 모든 완료를 비활성화했습니다.
ViggoV


1

스 니펫 <tabTrigger>에 특수 문자로 시작하는 속성이 있는지 확인하십시오 . 그럴 경우 자동 완성 상자에 표시되지 않습니다. 이것은 현재 사용 가능한 jQuery 플러그인 이있는 Windows의 문제입니다 .

자세한 내용 은이 스레드에 대한 내 대답 을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.