Pelajari cara memprogram menggunakan Lingma.
Gunakan pintasan keyboard
Pintasan keyboard default
Lingma menyediakan pintasan keyboard yang siap digunakan. Tabel berikut mencantumkan beberapa yang paling umum:
Aksi | Windows | macOS |
Aktifkan penyelesaian di posisi mana pun |
|
|
Ganti hasil yang dihasilkan |
|
|
Terima semua kode yang dihasilkan |
|
|
Terima kode yang dihasilkan baris demi baris |
|
|
Tutup atau buka panel AI Chat |
|
|
Selain itu, dalam panel AI Chat, tekan Cmd+Enter (macOS/Linux) atau Ctrl+Enter (Windows) untuk membuat jeda baris, dan tekan Enter untuk mengirimkan pertanyaan Anda ke model.
Menggunakan pintasan keyboard untuk mengganti hasil yang dihasilkan dapat menghasilkan parameter suhu yang lebih tinggi dan terkadang konten yang lebih divergen.
Pintasan keyboard kustom
JetBrains IDE
Buka halaman Settings.
Di panel navigasi sisi kiri, pilih Keymap. Kemudian, temukan dan perluas Lingma di bawah Plugins untuk melihat dan mengedit pintasan keyboard terkait.

VSCode
Klik ikon pengaturan di pojok kiri bawah IDE, lalu pilih menu Keyboard Shortcuts.

Cari Lingma di halaman untuk melihat dan mengedit semua pintasan keyboard.
CatatanPintasan keyboard di VS Code sebagian besar diberi nama sebagai Lingma untuk membantu Anda menemukannya dengan mudah. Namun, pintasan keyboard untuk memicu saran inline, menampilkan saran inline sebelumnya, dan menampilkan saran inline berikutnya mengikuti konvensi penamaan yang berbeda karena mereka menggunakan kembali nama fitur yang ada.
Konfigurasikan pengaturan
Pengaturan IDE
JetBrains IDE
Pergi ke menu tingkat atas, dan pilih Settings, atau klik ikon Lingma di bilah status dan pilih Advanced Settings.

VSCode
Klik ikon Lingma di pojok kanan bawah bilah status dan pilih Advanced Settings, atau klik ikon roda gigi di panel AI Chat.
Item konfigurasi umum
Nonaktifkan penyelesaian otomatis berdasarkan jenis file.
Jika penyelesaian otomatis menyebabkan gangguan saat bekerja dengan jenis file tertentu, Anda dapat menambahkan ekstensi file tersebut ke daftar. Ekstensi ganda harus dipisahkan oleh koma (misalnya: txt,md).
IDE
Konfigurasi
JetBrains IDE

VSCode
CatatanAnda dapat menonaktifkan penyelesaian otomatis untuk jenis file tertentu untuk mencegah pemicuan otomatis penyelesaian otomatis. Jika Anda menggunakan pintasan keyboard Alt+P untuk memicu penyelesaian otomatis secara manual untuk file tersebut, Anda masih dapat menggunakan pembuatan dan penyelesaian kode berbasis LLM.
Pertahankan hasil penyelesaian saat saran drop-down muncul.
Secara default, ketika IDE menampilkan saran penyelesaian drop-down berbasis sintaks, Lingma secara otomatis berhenti menampilkan penyelesaian model besar untuk menghindari konflik visual.

Jika Anda ingin Lingma selalu menghasilkan penyelesaian LLM, Anda dapat memilih opsi konfigurasi ini. Seperti yang ditunjukkan pada gambar di bawah, menekan tombol Tab akan menerima hasil yang dihasilkan oleh model besar.

IDE
Konfigurasi
JetBrains IDE

VSCode

Kontrol panjang maksimum dari kode yang dihasilkan.
Lingma mendukung pengaturan parameter panjang penyelesaian kode yang berbeda untuk pemicu otomatis dan pemicu manual. Disarankan untuk mengatur pemicu manual (pintasan default
Alt+P) agar menghasilkan penyelesaian yang sedikit lebih panjang daripada pemicu otomatis.IDE
Konfigurasi
JetBrains IDE

VSCode
CatatanOpsi konfigurasi ini hanya menetapkan panjang maksimum yang diizinkan untuk dihasilkan oleh model. Jika konten yang dihasilkan oleh model dalam penyelesaian secara alami lebih pendek, mengubah konfigurasi ini tidak dapat memaksa model untuk menghasilkan konten yang lebih panjang.
Gunakan komentar kode
Pandu penyelesaian kode dengan komentar
Ketika tidak ada komentar panduan, model hanya dapat memprediksi kode mendatang berdasarkan konteks saat ini dan kode serupa yang ditemukan dalam referensi proyek. Ketika prediksi model tidak akurat, Anda dapat menambahkan komentar untuk memandu model menuju implementasi kode yang diinginkan.
Sebagai contoh, dalam kode berikut, model pertama kali memprediksi bidang
CHAT_CONTEXT, yang bukan apa yang kita harapkan.
Dalam kasus ini, tambahkan komentar untuk menginstruksikan model menghasilkan bidang catatan historis. Kemudian, model menghasilkan bidang yang diharapkan dan kode data yang sesuai.

Gunakan deskripsi untuk menghasilkan metode
Anda dapat menghasilkan seluruh metode berdasarkan komentar baik dengan Comment to Code di editor atau gunakan panel AI Chat. Karena Lingma's AI Chat biasanya menggunakan parameter model yang lebih besar daripada model penyelesaian kode, ajukan pertanyaan Anda langsung di panel AI Chat.

Jika Anda memiliki persyaratan khusus untuk bahasa atau tanda tangan metode (termasuk nama metode, jenis parameter, jenis nilai kembali), jelaskan detail ini dalam prompt Anda.

Gunakan indeks lintas-file
Simpan file dan perbarui indeks
Lingma's mekanisme indeks lintas-file adalah mekanisme penting untuk mencegah halusinasi kode. Dengan secara otomatis mengidentifikasi jenis dan definisi metode dalam konteks saat ini, model dapat mengenali anggota jenis dan parameter metode dari file lain dalam proyek. Saat pertama kali membuka proyek baru, Lingma secara otomatis membuat indeks file proyek. Setelah itu, setiap penyimpanan file memicu pembaruan indeks inkremental untuk file tersebut.
Namun, karena caching memori IDE, ketika beralih ke file lain tepat setelah mengedit satu file, indeks lokal mungkin belum diperbarui untuk mengenali konten yang baru ditambahkan atau dimodifikasi, sehingga model bernalar berdasarkan struktur tipe asli. Sebagai contoh, dalam proyek kode, tambahkan properti yang dapat dijual ke objek Pet.Kemudian, beralih ke file lain dan coba biarkan LLM menyelesaikan kode, tetapi model menyimpulkan logika menggunakan bidang lain yang kurang relevan.

Untuk menghilangkan ketidaksesuaian informasi seperti itu, aktif tekan
Ctrl+S(Cmd+Suntuk macOS/Linux) setelah mengedit file sebelumnya, sebelum melanjutkan mengedit file lain. Ini memastikan konten yang dihasilkan merujuk dengan benar ke struktur objek yang telah dimodifikasi.
Solusi optimalisasi untuk skenario MyBatis
Selain kemampuan referensi lintas-file untuk bahasa pemrograman utama seperti Java, Python, dan JavaScript, Lingma juga mendukung identifikasi otomatis tipe struktur tabel yang dirujuk oleh objek Mapper saat menulis file XML MyBatis. Sebagai contoh, saat menulis pernyataan insert, Lingma akan menggunakan informasi tipe TaxiOrder dalam proyek saat ini untuk memastikan bahwa setiap bidang yang dihasilkan benar.

Kelola konteks
Bersihkan konteks tepat waktu
Dalam setiap alur percakapan, konten percakapan sebelumnya secara otomatis disediakan ke model sebagai konteks. Ketika Anda mengajukan pertanyaan yang tidak terkait dengan konten sebelumnya, informasi tambahan ini dapat mengganggu respons model.
Klik New Chat di bagian atas panel AI Chat untuk memulai alur percakapan baru, atau gunakan perintah /clear context untuk membersihkan konteks tanpa memulai alur percakapan baru.
Lihat riwayat chat
Setelah membuat alur percakapan baru, Anda dapat:
Gunakan fitur riwayat chat untuk kembali ke topik sebelumnya.
Lanjutkan mengajukan pertanyaan lanjutan.

Tanyakan tentang kode
Pertanyaan umum
Dua cara untuk mengajukan pertanyaan tentang kode:
Tempelkan kode ke area kotak chat.
Pilih sepotong kode di editor kode, lalu ajukan pertanyaan tentangnya, misalnya:

Tugas kode bawaan
Lingma memiliki empat tugas kode bawaan:
Jelaskan kode
Hasilkan unit tes
Hasilkan komentar kode
Optimalkan kode
Lingma LLM telah dilatih khusus untuk tugas-tugas ini. Untuk pembuatan unit tes, gunakan tugas bawaan yang diperlukan alih-alih memilih kode dan memasukkan metode pembuatan.
Lingma mendukung tiga metode untuk menggunakan tugas kode bawaan. Metode yang paling umum adalah mengklik ikon Lingma di awal definisi metode dan memilih tugas dari opsi drop-down.
Metode 1: Gunakan menu drop-down di IDE.
IDE
Konfigurasi
JetBrains IDE

VSCode

Metode 2: Pilih kode, klik kanan, dan pilih Lingma dari menu konteks.

Metode 3: Pilih kode, ketik
/di panel AI Chat untuk mengaktifkan menu tugas bawaan, lalu pilih tugas yang sesuai.
Rekayasa prompt
Rujuk kode dalam pertanyaan
Saat mengajukan pertanyaan, jika Anda memilih teks atau kode di editor, seleksi tersebut akan secara otomatis ditambahkan ke pertanyaan Anda dalam format kutipan Markdown. Oleh karena itu, saat merujuk pada kode yang dipilih dalam prompt Anda, gunakan frasa seperti "kode berikut" atau "konten ini". Sebagai contoh:
Contoh baik: Periksa apakah kode berikut memiliki risiko kesalahan indeks di luar batas.
Contoh buruk: Periksa apakah kode yang dipilih memiliki risiko kesalahan indeks di luar batas. (Dalam contoh ini, model tidak dapat mengidentifikasi kode yang dipilih.)
Tambahkan konteks ke perintah
Tambahkan informasi tambahan ke perintah untuk memberikan konteks yang lebih kaya untuk percakapan, menghasilkan respons yang lebih akurat.

Hasilkan kode efektif melalui percakapan multi-turn
Saat berbicara dengan model bahasa besar, memberikan konteks yang lebih kaya mengarah pada hasil yang lebih akurat dan sesuai harapan. Anda dapat membangun dari putaran percakapan sebelumnya untuk menambahkan informasi kontekstual untuk pertanyaan berikutnya, sehingga hasil yang dihasilkan lebih mencerminkan seluruh konteks historis. Namun, ketika informasi historis sebelumnya menjadi mengganggu, Anda harus membersihkan konteks tepat waktu.
Berdasarkan putaran sebelumnya, Anda dapat mengajukan pertanyaan lanjutan yang lebih mendalam.
Berikan contoh untuk model
Saat Anda membutuhkan model untuk mengeluarkan dalam format tertentu atau mengikuti aturan tertentu, memberikan contoh referensi sering kali bekerja lebih baik daripada hanya deskripsi teks. Misalnya, saat memformat hasil pengujian program ke dalam struktur JSON tertentu, pertama-tama buka file, pilih semua konten, lalu ajukan pertanyaan di kotak chat.
Bandingkan dua prompt ini, di mana yang kedua menghasilkan output yang lebih konsisten:
Prompt 1 (Kurang efektif): Atur file menjadi laporan pengujian dalam format JSON. Pastikan hasil setiap kasus uji diatur ke dalam struktur JSON. Isi bidang nama dengan nama kasus uji, bidang sukses dengan status kasus uji, bidang durasi dengan durasi running dalam milidetik, dan bidang coverage dengan rasio cakupan pengujian. Pastikan bidang detail dalam format JSON dan termasuk bidang input dan output untuk setiap kasus uji.
Prompt 2 (Lebih efektif): Atur file menjadi laporan pengujian dalam format JSON.
...Isi laporan dihilangkan...Rujuk contoh berikut sebagai laporan masukan.
[ { "name": "Jika nomor halaman melebihi rentang nilai valid, sistem diharapkan mengembalikan daftar kosong atau memberi tahu tidak-ada-data-lagi", "duration": 3434, "coverage": 80, "detail": [ { "input": "...", "output": "..." } ] } ]