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 용 플러그인이 포함 된 새롭고 유망한 프로젝트입니다. 나는 한동안 Sublime 에 TernJS를 사용해 왔으며 내가 얻은 제안은 표준보다 훨씬 낫습니다.

여기에 이미지 설명 입력

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.