Senin, 03 Desember 2018

IntelliSense

IntelliSense adalah istilah umum untuk berbagai fitur pengeditan kode termasuk: penyelesaian kode, info parameter, info cepat, dan daftar anggota. Fitur IntelliSense kadang-kadang disebut dengan nama lain seperti "penyelesaian kode", "bantuan konten", dan "petunjuk kode."
Demo IntelliSense

IntelliSense untuk bahasa pemrograman Anda

Kode Visual Studio IntelliSense disediakan untuk JavaScript, TypeScript, JSON, HTML, CSS, SCSS, dan Less out of the box. VS Code mendukung penyelesaian berbasis kata untuk bahasa pemrograman apa pun tetapi juga dapat dikonfigurasi untuk memiliki IntelliSense yang lebih kaya dengan menginstal ekstensi bahasa.
Di bawah ini adalah ekstensi bahasa yang paling populer di Marketplace . Klik pada ubin ekstensi di bawah ini untuk membaca deskripsi dan ulasan untuk memutuskan ekstensi mana yang terbaik untuk Anda.

Fitur IntelliSense

Fitur VS Code IntelliSense didukung oleh layanan bahasa. Layanan bahasa menyediakan penyelesaian kode cerdas berdasarkan semantik bahasa dan analisis kode sumber Anda. Jika layanan bahasa mengetahui kemungkinan penyelesaian, saran IntelliSense akan muncul saat Anda mengetik. Jika Anda terus mengetik karakter, daftar anggota (variabel, metode, dll.) Difilter untuk hanya menyertakan anggota yang berisi karakter Anda yang diketik. Menekan Tab atau Enter akan memasukkan anggota yang dipilih.
Anda dapat memicu IntelliSense di jendela editor apa pun dengan mengetik Ctrl + Spasi atau dengan mengetik karakter pemicu (seperti karakter titik ( . ) Di JavaScript).
intellisense dalam paket json
Tip: Widget saran mendukung pemfilteran CamelCase yang berarti Anda dapat mengetikkan huruf yang berada di atas casing dalam nama metode untuk membatasi saran. Misalnya, "cra" akan segera memunculkan "createApplication".
Jika Anda suka, Anda dapat mematikan IntelliSense saat Anda mengetik. Lihat Mengkustomisasi IntelliSense di bawah ini untuk mempelajari cara menonaktifkan atau menyesuaikan fitur IntelliSense VS Code.
Seperti yang disediakan oleh layanan bahasa, Anda dapat melihat info cepat untuk setiap metode dengan menekan Ctrl + Spasi atau mengklik ikon info. Dokumentasi yang menyertainya untuk metode ini akan diperluas ke samping. Dokumentasi yang diperluas akan tetap demikian dan akan diperbarui ketika Anda menavigasi daftar. Anda bisa menutup ini dengan menekan Ctrl + Space lagi atau dengan mengklik ikon tutup.
info cepat
Setelah memilih metode, Anda diberikan info parameter .
info parameter
Jika berlaku, layanan bahasa akan menampilkan jenis yang mendasari dalam info cepat dan tanda tangan metode. Pada gambar di atas, Anda dapat melihat beberapa anyjenis. Karena JavaScript bersifat dinamis dan tidak memerlukan atau memberlakukan jenis, anymenunjukkan bahwa variabel dapat berupa tipe apa pun.

Jenis-jenis penyelesaian

Kode JavaScript di bawah ini menggambarkan penyelesaian IntelliSense. IntelliSense memberikan proposal yang tereka dan pengenal global dari proyek tersebut. Simbol tereka disajikan pertama, diikuti oleh pengidentifikasi global (ditunjukkan oleh ikon dokumen).
ikon intellisense
VS Code IntelliSense menawarkan berbagai jenis penyelesaian, termasuk saran server bahasa, cuplikan, dan penyelesaian tekstual berdasarkan kata sederhana.
ikon metodeMetode, Fungsi, dan Konstruktor
ikon variabelVariabel dan Fields
kelasKelas
antarmukaAntarmuka
modulModul
milikProperti dan Atribut
ikon enumerasiNilai dan Enumerasi
warnaReferensi
kata kunciKata kunci
pengidentifikasi globalPengidentifikasi Global
warnaWarna
satuanSatuan
persegi dengan elips membentuk awalan cuplikan tampilan bawahAwalan Cuplikan
persegi dengan abc kata selesaiKata-kata
MiscellaneousMiscellaneous

Menyesuaikan IntelliSense

Anda dapat menyesuaikan pengalaman IntelliSense Anda dalam pengaturan dan binding kunci.

Pengaturan

Pengaturan yang ditunjukkan di bawah ini adalah pengaturan standar. Anda dapat mengubah pengaturan ini di settings.jsonfile Anda seperti yang dijelaskan dalam Pengaturan Pengguna dan Ruang Kerja .
{
    // Controls if quick suggestions should show up while typing
    "editor.quickSuggestions": {
        "other": true,
        "comments": false,
        "strings": false
    },

    // Controls if suggestions should be accepted on 'Enter' - in addition to 'Tab'. Helps to avoid ambiguity between inserting new lines or accepting suggestions. The value 'smart' means only accept a suggestion with Enter when it makes a textual change
    "editor.acceptSuggestionOnEnter": "on",

    // Controls the delay in ms after which quick suggestions will show up.
    "editor.quickSuggestionsDelay": 10,

    // Controls if suggestions should automatically show up when typing trigger characters
    "editor.suggestOnTriggerCharacters": true,

    // Controls if pressing tab inserts the best suggestion and if tab cycles through other suggestions
    "editor.tabCompletion": "on",

    // Controls whether sorting favours words that appear close to the cursor
    "editor.suggest.localityBonus": true,

    // Controls how suggestions are pre-selected when showing the suggest list
    "editor.suggestSelection": "recentlyUsed",

    // Enable word based suggestions
    "editor.wordBasedSuggestions": true,

    // Enable parameter hints
    "editor.parameterHints": true,
}

Penyelesaian Tab

Editor mendukung "tab completion" yang memasukkan penyelesaian pencocokan terbaik saat menekan Tab . Ini berfungsi terlepas dari saran menunjukkan widget atau tidak. Juga, menekan Tab setelah memasukkan saran akan memasukkan saran terbaik berikutnya.
Penyelesaian Tab
Secara default, penyelesaian tab dinonaktifkan. Gunakan editor.tabCompletionpengaturan untuk mengaktifkannya. Nilai-nilai ini ada:
  • off - (default) Penyelesaian Tab dinonaktifkan.
  • on - Penyelesaian Tab diaktifkan untuk semua saran dan penyisipan berulang memasukkan saran terbaik berikutnya.
  • onlySnippets - Penyelesaian tab hanya menyisipkan cuplikan statis yang awalannya sesuai dengan prefiks baris saat ini.

Bonus Lokalitas

Menyortir saran tergantung pada informasi ekstensi dan seberapa baik mereka cocok dengan kata saat ini yang Anda ketikkan. Selain itu, Anda dapat meminta editor untuk meningkatkan saran yang muncul lebih dekat ke posisi kursor, menggunakan editor.suggest.localityBonuspengaturan.
Disortir Menurut Lokalitas
Di atas gambar Anda dapat melihat itu count,, contextdan colocateddiurutkan berdasarkan lingkup di mana mereka muncul (loop, fungsi, file).

Pemilihan saran

Secara default, VS Code memilih sebelumnya saran yang sebelumnya digunakan dalam daftar saran. Ini sangat berguna karena Anda dapat dengan cepat memasukkan penyelesaian yang sama beberapa kali. Jika Anda menyukai perilaku yang berbeda, misalnya, selalu pilih item teratas dalam daftar saran, Anda dapat menggunakan editor.suggestSelectionpengaturan.
Nilai yang tersedia editor.suggestSelectionadalah:
  • first - Selalu pilih item daftar teratas.
  • recentlyUsed - (standar) Item yang sebelumnya digunakan dipilih kecuali awalan (ketik untuk memilih) memilih item yang berbeda.
  • recentlyUsedByPrefix - Pilih item berdasarkan awalan sebelumnya yang telah menyelesaikan saran tersebut.
"Ketik untuk memilih" berarti awalan saat ini (kira-kira teks yang tersisa dari kursor) digunakan untuk memfilter dan menyortir saran. Ketika ini terjadi dan ketika hasilnya berbeda dari hasil recentlyUseditu akan diberikan diutamakan.
Saat menggunakan opsi terakhir recentlyUsedByPrefix,, VS Code mengingat item mana yang dipilih untuk awalan tertentu (teks parsial). Misalnya, jika Anda mengetik codan kemudian dipilih console, waktu berikutnya Anda mengetik co, saran consoleitu akan dipilih sebelumnya. Ini memungkinkan Anda memetakan berbagai awalan dengan cepat ke berbagai saran, misalnya co-> consoledan con-> const.

Cuplikan di saran

Secara default, Kode VS menampilkan cuplikan dan proposal penyelesaian dalam satu widget. Anda dapat mengontrol perilaku dengan editor.snippetSuggestionspengaturan. Untuk menghapus cuplikan dari widget saran, tetapkan nilainya "none"Jika Anda ingin melihat cuplikan, Anda dapat menentukan urutan relatif terhadap saran; di bagian atas ( "top"), di bagian bawah ( "bottom"), atau sebaris sesuai abjad ( "inline"). Standarnya adalah "inline".

Binding kunci

Binding kunci yang ditunjukkan di bawah ini adalah binding kunci default. Anda dapat mengubah ini di keybindings.jsonfile Anda seperti yang dijelaskan di Key Bindings .
Catatan: Ada banyak lagi bindings kunci yang berkaitan dengan IntelliSense. Buka Pintasan Keyboard Default ( File > Preferensi > Pintasan Keyboard ) dan cari "sarankan".
[
    {
        "key": "ctrl+space",
        "command": "editor.action.triggerSuggest",
        "when": "editorHasCompletionItemProvider && editorTextFocus && !editorReadonly"
    },
    {
        "key": "ctrl+space",
        "command": "toggleSuggestionDetails",
        "when": "editorTextFocus && suggestWidgetVisible"
    },
    {
        "key": "ctrl+alt+space",
        "command": "toggleSuggestionFocus",
        "when": "editorTextFocus && suggestWidgetVisible"
    }
]

Penyelesaian masalah

Jika Anda menemukan IntelliSense telah berhenti berfungsi, layanan bahasa mungkin tidak berjalan. Coba restart VS Code dan ini harus menyelesaikan masalah. Jika Anda masih kehilangan fitur IntelliSense setelah menginstal ekstensi bahasa, buka masalah di repositori ekstensi bahasa.
Kiat: Untuk mengonfigurasi dan mengatasi masalah JavaScript IntelliSense lihat di sini .
Ekstensi bahasa tertentu mungkin tidak mendukung semua fitur IntelliSense VS Code. Tinjau README ekstensi untuk mencari tahu apa yang didukung. Jika Anda merasa ada masalah dengan ekstensi bahasa, Anda biasanya dapat menemukan repositori masalah untuk ekstensi melalui Marketplace . Arahkan ke halaman detail ekstensi dan klik Supporttautan.

Langkah selanjutnya

IntelliSense hanyalah salah satu fitur kuat dari VS Code. Baca terus untuk mempelajari lebih lanjut:
  • JavaScript - Dapatkan hasil maksimal dari pengembangan JavaScript Anda, termasuk mengkonfigurasi IntelliSense.
  • Node.js - Lihat contoh IntelliSense dalam aksi di Node.js walkthrough.
  • Debugging - Pelajari cara mengatur debugging untuk aplikasi Anda.

Pertanyaan umum

Mengapa saya tidak mendapatkan saran?

gambar IntelliSense tidak berfungsi
Ini bisa disebabkan oleh berbagai alasan. Pertama, coba restart VS Code. Jika masalah berlanjut, konsultasikan dengan dokumentasi ekstensi bahasa. Untuk pemecahan masalah spesifik JavaScript, silakan lihat topik bahasa JavaScript .

Mengapa saya tidak melihat metode dan saran variabel?

gambar IntelliSense tidak menunjukkan saran yang berguna
Masalah ini disebabkan oleh tipe deklarasi tipe (pengetikan) yang hilang dalam JavaScript. Anda dapat memeriksa apakah paket file deklarasi tipe tersedia untuk pustaka tertentu dengan menggunakan situs TypeSearch . Ada informasi lebih lanjut tentang masalah ini dalam topik bahasa JavaScript . Untuk bahasa lain, silakan baca dokumentasi ekstensi.

0 komentar:

Posting Komentar