Sublime Text altında tam JS otomatik tamamlama alma


98

Sublime Text'i Windows Vista altında kurdum ve bu yazıda verilen tavsiyeleri izleyerek , yani açıkça ayarlamak için View > Syntax > JavaScript > JavaScript, yalnızca daha önce yazdıklarıma dayalı önerileri görüyorum. SublimeCodeIntel eklentisini bile boşuna kurdum .

Anladığım kadarıyla, "ayrıştır" yazdığım anda Chrome geliştirici araçlarında olduğu gibi "parseFloat" ve "parseInt" seçeneklerini almalıyım, değil mi?

Teşekkürler!


8
Bu 2015: durum düzelmedi. Kutunun dışında hiçbir şey çalışmıyor. 8 yaşındaki editörler daha iyi otomatik tamamlamaya sahip.
Muhammed Umer

Aşağıdaki cevabıma bakın, @MuhammadUmer. Şimdiye kadar çalışıyor; kutunun dışında .. ve güzel.
Steve Meisner

1
@SteveMeisner - cevabınız burada tartışılıyor meta.stackoverflow.com/q/341163/73226
Martin Smith

1
Çoğunlukla "yalnızca bağlantı" cevabıyla cevap vermiştim ve züppelik yaptı. Ama işte JS intellisense / autocompletion için hazırladığım harika paket: github.com/pichillilorenzo/JavaScript-Completions
Steve Meisner

Benim gibi birinin bu sorunla uğraşması durumunda. VS Code'a geçmemin nedeni buydu. JS modülleri arasında otomatik tamamlamalar da elde etmek için güzel çalışan bu harika Intellisense özelliğine sahiptir. Şimdiye kadar zevk aldım.
Sergiy Ostrovsky

Yanıtlar:


76

Öneriler, (temelde) geçerli açık dosyadaki metne ve tanımladığınız tüm parçacıkları veya tamamlamaları ( ref ) temel alır. Daha fazla metin önerisi istiyorsanız şunları tavsiye ederim:

Bir yan not olarak, Sublime topluluğunun tüm avantajlarından yararlanmak için Paket denetimini kurmanızı gerçekten tavsiye ederim . Yukarıdaki seçeneklerden bazıları Paket kontrolünü kullanır. Sublime'ı kullanırken verimliliğinizi artırmakla ilgili her türlü bilgiyi içeren tutsplus Sublime eğitim videolarını da şiddetle tavsiye ederim .


1
Harika Emmet araç setine göre oy verildi ve kabul edildi! Akıllara durgunluk veriyor. Chrome web denetçisi kadar neredeyse JS bilgisine sahip değil, ama sanırım bu o kadar da kötü bir şey değil. (Sonuçta, kas hafızamı geliştirmek istiyorum.) Öte yandan, Emmet'in sizin için yaptığı iş inanılmaz! Teşekkürler!
ezequiel-garzon

2
Yardımcı olduğuna sevindim. Umarım tüm bu eğitim dizisini izlemeye başlarsınız; orada çok güzel şeyler var.
dbn

1
Ama ücretsiz değil: / belki daha önceydi.
Jeff P Chacko

3
Bunun tutsplus sitesi için bir reklam olduğunu düşünüyorum. Belki başlangıçta değildi ama bağlantılı cevapları ödeme duvarlarının arkasında görmeyi tercih etmezdim.
dcmbrown

heh, evet, onları izlediğimde hepsi ücretsizdi. Bunların bir ödeme duvarının arkasında olduğunu not etmek için yanıt güncelleniyor.
dbn

66

Ternjs, JS otomatik tamamlama elde etmek için yeni bir alternatiftir. http://ternjs.net/

Sublime Eklentisi

Sublime Text için en iyi korunan Tern eklentisine 'tern_for_sublime' denir

Ayrıca 'TernJS' adında daha eski bir eklenti var . Bakım gerektirmez ve Sublime Text'in çökmesine neden olan performansla ilgili birkaç hata içerir, bu yüzden bundan kaçının.


2
ST3 çöküyor. Proje sürdürülmez.
Akorlar

1
Bunu deneyimlemedim, hangi paketi kullanıyorsun? Github.com/marijnh/tern_for_sublime
subhaze

2
Cevabımda ve yorumumda verdiğim bağlantıdaki birini kullanmanızı tavsiye ederim . Hala korunuyor.
subhaze

1
Bunu gerçekten 'tuzlu' olarak görmüyorum, ancak bağlantı verdiğim eklentinin korunmadığını söylerken yorumunuzun yanlış olduğunu belirtmek istedim. Github'da çok yeni güncellemeler olduğu için.
subhaze

1
Yorumu, umarım daha az / tuzlu olmayacak şekilde güncelledim: / ve bu yorumları okurken, umarım insanlar 'yönlendirilmeyecek', ancak doğru yönde olacaktır.
subhaze

41

Daha önce de belirtildiği gibi tern.js , Sublime Text, Vim ve Emacs için eklentiler içeren yeni ve gelecek vaat eden bir projedir. Bir süredir Sublime için TernJS kullanıyorum ve aldığım öneriler standart olanlardan çok daha iyi:

görüntü açıklamasını buraya girin

Tern, projenizdeki tüm .js dosyalarını tarar. .Sublime-project dosyanıza "libs" ekleyerek DOM, nodejs, jQuery ve daha fazlası için destek alabilirsiniz:

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

görüntü açıklamasını buraya girin


Son örnekte 'src' önerisini alamıyorum - Az önce (Sublime Text 3) kurdum ve proje ayarınızı kullandım.
Rune Jeppesen

2
ES6 (ES2015) tarzı javascript desteği var mı?
Dan Esparza

1
Evet, tern.js proje sitesi desteklenen ES6 özelliklerinin bir listesini içeriyor
eosterberg

1
Değeri ne olursa olsun, "sublime için tern" kullandığınızı, ancak ternJS eklentisine bağlı olduğunu belirtiyorsunuz ... Tern for Sublime -> packagecontrol.io/packages/tern_for_sublime TernJS -> packagecontrol.io/packages/TernJS
subhaze

CreateTag bir img HTTP etiketi döndüreceğinden, selectedIndex niteliğini almanıza şaşırdım. Ayrıca, selectedIndex, img veya onun üst öğesine DEĞİL, belirli bir HTTP etiketine aittir. Bu iki öneriyi nasıl elde edeceğiniz konusunda bu kadar nazik bir yorum yapar mısınız? Sanırım onları başka dosyalarda kullanmış olmanız, JsTern'in çalıştırma sırasında createElement çağrısını çözme yeteneğine sahip olması değil. Bununla birlikte, selectedIndex'in önerilmesi bir anlam ifade etmiyor.
Alex


6

Paket Kontrolünde bulabileceğiniz JavaScript Geliştirmeleri adlı yeni bir eklenti geliştirdim . Kaputun altında Flow (Facebook'tan javascript statik tip denetleyicisi) kullanır .

Dahası, akıllı javascript otomatik tamamlama (diğer eklenti JavaScript Tamamlamalarıma kıyasla), gerçek zamanlı hatalar , kod yeniden düzenleme ve ayrıca javascript projeleri oluşturma, geliştirme ve yönetme hakkında birçok özellik sunar .

Sunduğu tüm özellikleri öğrenmek için Wiki'ye bakın !

Bu eklentiye giriş şu css-tricks.com makalesinde bulunabilir: Sublime Text 3'ü JavaScript IDE'ye çevirin

Sadece birkaç hızlı ekran görüntüsü:


1
Merhaba Lorenzo. Projenizi merak ediyorum, ancak tamamlamaları özelleştirme açısından hangi seçeneklere sahip olduğumu istiyorum. Temelde ben gibi önerileriniz var istiyorum docu> document, document.que> document.querySelectorargümanlar ve benzeri çoklu hatları ile ve benzeri, ama asla tam işlev çağrısı arr.forEa> arr.forEach((object,index,array) => { /* newline */ });, eğer mantıklı. Tüm tamamlama dosyalarını manuel olarak düzenlemek zorunda kalmadan Javascript Geliştirmeleri ile bunu devre dışı bırakabilir miyim? Yapıma biraz takıntılı olduğum için şimdi tüm tamamlamaları devre dışı bıraktım.
ViggoV


1

Parçacıkların <tabTrigger>özel karakterlerle başlayan niteliklere sahip olup olmadığını kontrol edin . Yaparlarsa, otomatik tamamlama kutusunda görünmezler. Bu şu anda Windows'ta mevcut jQuery eklentileriyle ilgili bir sorundur .

Daha fazla ayrıntı için bu ileti dizisindeki cevabıma bakın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.