Mendapatkan pelengkapan otomatis JS penuh di bawah Sublime Text

98

Saya baru saja menginstal Sublime Text di bawah Windows Vista, dan bahkan mengikuti saran yang diberikan dalam posting ini , yaitu untuk mengatur secara eksplisit View > Syntax > JavaScript > JavaScript, saya hanya melihat saran berdasarkan apa yang telah saya ketik sebelumnya. Saya bahkan menginstal plug-in SublimeCodeIntel , tetapi tidak berhasil.

Seperti yang saya pahami, saat saya menulis "pars", saya akan mendapatkan opsi "parseFloat" dan "parseInt", seperti di alat pengembang Chrome, bukan?

Terima kasih!

ezequiel-garzon.dll
sumber
8
ini 2015: situasi belum membaik. Tidak ada yang berhasil di luar kotak. Editor berusia 8 tahun memiliki pelengkapan otomatis yang lebih baik.
Muhammad Umer
Lihat jawaban saya di bawah, @MuhammadUmer. Sejauh ini berhasil; di luar kotak .. dan indah.
Steve Meisner
1
@SteveMeisner - jawaban Anda dibahas di sini meta.stackoverflow.com/q/341163/73226
Martin Smith
1
Saya telah menjawab sebagian besar dengan jawaban "hanya tautan" dan itu menjadi sombong. Tapi inilah paket fantastis yang saya miliki untuk JS intellisense / autocompletion: github.com/pichillilorenzo/JavaScript-Completions
Steve Meisner
Untuk berjaga-jaga jika seseorang seperti saya berurusan dengan masalah ini. Inilah alasan mengapa saya beralih ke VS Code. Ini memiliki fitur Intellisense yang luar biasa yang berfungsi dengan baik juga mendapatkan pelengkapan otomatis di seluruh modul JS. Sejauh ini menikmatinya.
Sergiy Ostrovsky

Jawaban:

77

Saran (pada dasarnya) didasarkan pada teks dalam file terbuka saat ini dan cuplikan atau penyelesaian apa pun yang telah Anda tentukan ( ref ). Jika Anda menginginkan lebih banyak saran teks, saya merekomendasikan:

Sebagai catatan tambahan, saya sangat merekomendasikan menginstal Kontrol paket untuk memanfaatkan komunitas Sublime sepenuhnya. Beberapa opsi di atas menggunakan kontrol Paket. Saya juga sangat merekomendasikan video tutorial Sublime tutsplus , yang menyertakan semua jenis informasi tentang meningkatkan efisiensi Anda saat menggunakan Sublime.

dbn
sumber
1
Suara positif dan diterima berdasarkan perangkat Emmet yang luar biasa! Ini luar biasa. Itu tidak cukup tahu sebanyak JS sebagai inspektur web Chrome, tapi saya rasa itu bukan hal yang buruk. (Lagi pula, saya ingin meningkatkan memori otot saya.) Di sisi lain, pekerjaan yang dilakukan Emmet untuk Anda luar biasa! Terima kasih!
ezequiel-garzon
2
Senang itu membantu. Saya harap Anda akhirnya menonton seluruh rangkaian tutorial itu; ada banyak barang bagus di sana.
dbn
1
Tetapi tidak gratis: / mungkin sebelumnya.
Jeff P Chacko
3
Saya merasa itu adalah iklan untuk situs tutsplus. Mungkin itu bukan awalnya, tetapi saya lebih suka melihat jawaban terkait bukan di balik pembayaran.
dcmbrown
heh, yeah, semuanya gratis saat aku menontonnya. Memperbarui jawaban untuk diperhatikan bahwa ini berada di balik paywall.
dbn
66

Ternjs adalah alternatif baru untuk mendapatkan pelengkapan otomatis JS. http://ternjs.net/

Plugin Sublime

Plugin Tern yang paling terawat dengan baik untuk Sublime Text disebut 'tern_for_sublime'

Ada juga plugin lama yang disebut 'TernJS' . Itu tidak dipelihara dan berisi beberapa bug terkait kinerja, yang menyebabkan Sublime Text macet, jadi hindari itu.

subhaze
sumber
2
Mogok ST3. Proyek tidak dikelola.
Chords
1
Saya belum mengalaminya, paket mana yang Anda gunakan? Saya menggunakan github.com/marijnh/tern_for_sublime
subhaze
2
Saya akan merekomendasikan menggunakan yang ada di tautan yang saya berikan di jawaban dan di komentar saya. Itu masih dipertahankan.
subhaze
1
Saya tidak benar-benar melihatnya sebagai 'asin' tetapi saya ingin menunjukkan bahwa komentar Anda salah dengan mengatakan bahwa plugin yang saya tautkan tidak dipertahankan. Karena memiliki pembaruan terkini di github.
subhaze
1
Saya telah memperbarui komentar menjadi semoga menjadi kurang / tidak asin: / dan saat membaca komentar ini semoga orang tidak 'diarahkan' tetapi ke arah yang benar.
subhaze
41

Seperti yang telah disebutkan, tern.js adalah proyek baru dan menjanjikan dengan plugin untuk Sublime Text, Vim dan Emacs. Saya telah menggunakan TernJS for Sublime untuk sementara waktu dan saran yang saya dapatkan jauh lebih baik daripada yang standar:

masukkan deskripsi gambar di sini

Tern memindai semua file .js dalam proyek Anda. Anda bisa mendapatkan dukungan untuk DOM, nodejs, jQuery, dan lainnya dengan menambahkan "libs" di file .sublime-project Anda:

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

masukkan deskripsi gambar di sini

Eosterberg
sumber
Dalam contoh terakhir saya tidak mendapatkan saran 'src' - Saya baru saja menginstal (Sublime Text 3) dan menggunakan pengaturan proyek Anda.
Rune Jeppesen
2
Adakah dukungan untuk javascript gaya ES6 (ES2015)?
Dan Esparza
1
Ya, situs proyek tern.js berisi daftar fitur ES6 yang didukung
eosterberg
1
Untuk apa nilainya, Anda menyatakan bahwa Anda menggunakan "tern untuk sublime" tetapi ini menautkan ke plugin ternJS ... Tern untuk Sublime -> packagecontrol.io/packages/tern_for_sublime TernJS -> packagecontrol.io/packages/TernJS
subhaze
Saya terkejut Anda mendapatkan atribut selectedIndex, karena createTag akan mengembalikan tag HTTP img. Plus, selectedIndex milik tag HTTP tertentu, BUKAN milik img atau elemen induknya. Maukah Anda berkomentar tentang bagaimana Anda mendapatkan dua saran itu? Saya yakin itu karena Anda telah menggunakannya di file lain, dan bukan karena JsTern memiliki kemampuan untuk menyelesaikan panggilan createElement saat dijalankan. Namun, menyarankan selectedIndex tidak masuk akal.
Alex
6

Saya mengembangkan plugin baru yang disebut Peningkatan JavaScript , yang dapat Anda temukan di Kontrol Paket . Ia menggunakan Flow (pemeriksa tipe statis javascript dari Facebook) di bawah tenda.

Selain itu, ia menawarkan pelengkapan otomatis javascript cerdas (dibandingkan dengan plugin saya yang lain Penyelesaian JavaScript), kesalahan waktu nyata , pemfaktoran ulang kode , dan juga banyak fitur tentang membuat, mengembangkan, dan mengelola proyek javascript .

Lihat Wiki untuk mengetahui semua fitur yang ditawarkannya!

Pengenalan plugin ini dapat ditemukan di artikel css-tricks.com ini: Ubah Sublime Text 3 menjadi JavaScript IDE

Hanya beberapa tangkapan layar cepat:

Lorenzo Pichilli
sumber
1
Hai Lorenzo. Saya ingin tahu tentang proyek Anda, tetapi saya ingin opsi mana yang saya miliki dalam hal menyesuaikan penyelesaian. Pada dasarnya saya ingin memiliki saran seperti docu> document, document.que> document.querySelectordan seterusnya, tetapi tidak pernah panggilan fungsi penuh dengan argumen dan banyak baris seperti arr.forEa> arr.forEach((object,index,array) => { /* newline */ });, jika itu masuk akal. Bisakah saya menonaktifkannya dengan Peningkatan Javascript tanpa harus mengedit semua file penyelesaian secara manual? Saya telah menonaktifkan semua penyelesaian sekarang karena saya sedikit obsesif dengan struktur saya.
ViggoV
1

Periksa apakah cuplikan memiliki <tabTrigger>atribut yang dimulai dengan karakter khusus. Jika ya, mereka tidak akan muncul di kotak pelengkapan otomatis. Ini saat ini menjadi masalah di Windows dengan plugin jQuery yang tersedia .

Lihat jawaban saya di utas ini untuk lebih jelasnya.

Alexander Rechsteiner
sumber