Kode dengan Gemini Code Assist

Dokumen ini menjelaskan cara menggunakan Gemini Code Assist, kolaborator yang didukung teknologi AI di Google Cloud, untuk membantu Anda melakukan hal-hal berikut di Cloud Code:

  • Memberikan panduan untuk membantu Anda memecahkan masalah terkait kode.

  • Buat kode untuk project Anda.

  • Mendapatkan saran inline saat Anda membuat kode.

Pelajari cara dan waktu Gemini untuk Google Cloud menggunakan data Anda.

Untuk membantu Anda mematuhi persyaratan lisensi apa pun untuk kode Anda, Gemini Code Assist memberikan kutipan sumber saat sarannya langsung mengutip secara mendetail dari sumber tertentu. Untuk mempelajari lebih lanjut cara dan kapan Gemini mencantumkan sumber kutipan, lihat Cara Gemini membantu Anda membuat kode dan mencantumkan sumber kutipan.

Penyesuaian kode memungkinkan Anda mendapatkan saran kode berdasarkan codebase pribadi organisasi langsung dari Gemini Code Assist. Pelajari cara mengonfigurasi penyesuaian kode.

Dokumen ini ditujukan untuk developer dari semua tingkat keterampilan. Tutorial ini mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang VS Code dan memahami Google Cloud. Jika mau, Anda juga dapat menjelajahi Gemini Code Assist di Cloud Workstations, Cloud Code for IntelliJ, dan Cloud Shell Editor.

Sebelum memulai

  1. Sebelum menguji kemampuan Gemini Code Assist dalam file kode, pastikan bahasa coding file Anda didukung. Untuk informasi selengkapnya tentang bahasa coding yang didukung, lihat Bahasa coding yang didukung.

  2. Instal ekstensi Gemini Code Assist + Cloud Code jika Anda belum melakukannya. Cloud Code terintegrasi dengan Gemini Code Assist di IDE Anda.

  3. Jika Anda lebih suka menggunakan IDE di balik proxy, lihat Koneksi Jaringan di Visual Studio Code.

Menghubungkan ke Google Cloud dan memilih project

Di bagian ini, Anda akan terhubung ke Google Cloud dan memilih project Google Cloud dengan Gemini untuk Google Cloud API yang diaktifkan di IDE Anda.

Jika memilih project Google Cloud tanpa mengaktifkan Gemini for Google Cloud API, Anda akan menerima notifikasi yang memberi Anda opsi untuk mengaktifkan API dari IDE. Pilih Enable the API di jendela notifikasi untuk mengaktifkan API untuk project Anda. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan Gemini Code Assist untuk sebuah project.

Jika Anda lebih suka mengikuti panduan Kode dengan Gemini Code Assist langsung di IDE, klik Luncurkan VS Code dan ikuti langkah-langkah dalam panduan untuk terhubung ke Google Cloud dan mengaktifkan Gemini Code Assist.

Meluncurkan VS Code

Jika tidak, ikuti langkah-langkah berikut:

  1. Luncurkan IDE Anda.

  2. Di status bar, klik Cloud Code - Sign In.

    Tombol Cloud Code - Sign In di status bar.

  3. Saat diminta untuk mengizinkan Cloud Code membuka situs eksternal, klik Open.

  4. Ikuti petunjuk untuk login ke Akun Google Anda.

  5. Saat ditanya apakah Anda mendownload Cloud Code dari Google, klik Login.

    Anda kini terhubung ke Google Cloud.

Selanjutnya, untuk memilih project Google Cloud yang mengaktifkan Gemini untuk Google Cloud API, ikuti langkah-langkah berikut:

  1. Di status bar Gemini Code Assist, klik Gemini Code Assist.

    Status bar Gemini tersedia.

  2. Di menu Gemini Code Assist, pilih Select Gemini Code project.

  3. Pilih project Google Cloud yang mengaktifkan Gemini untuk Google Cloud API.

    Gemini siap digunakan.

    Ikon Gemini di status bar disetel ke normal.

Mulai percakapan dengan Gemini Code Assist

Di bagian ini, Anda akan mempelajari cara membuka panel Gemini Code Assist dan melakukan chat dengan Gemini Code Assist untuk mendapatkan penjelasan tentang kode yang ada.

Untuk mulai melakukan chat dengan Gemini, ikuti langkah-langkah berikut:

  1. Buka file kode Anda.

  2. Di panel aktivitas IDE, klik spark Gemini Code Assist.

  3. Di panel Gemini Code Assist, masukkan perintah Explain this code to me dan klik send Send.

    Gemini menggunakan kode dalam file kode Anda sebagai referensi untuk perintah Anda dan merespons dengan penjelasan kode Anda.

    Untuk merujuk ke blok kode tertentu, bukan semua kode dalam file, Anda dapat memilih blok dalam file kode, lalu meminta Gemini.

Mereset histori chat

Gemini Code Assist menggunakan histori chat untuk konteks tambahan saat merespons perintah Anda.

Jika histori chat tidak lagi relevan dengan hal yang ingin Anda capai, Anda dapat mereset histori chat: di panel Gemini Code Assist, klik delete Reset Chat.

Membuat kode dengan perintah

Bagian berikut menunjukkan cara menggunakan Gemini Code Assist untuk melakukan transformasi kode seperti function to create a Cloud Storage bucket menggunakan panel Pilih Cepat.

Transformasi kode memungkinkan Anda menggunakan perintah atau perintah bahasa alami di panel Pilih Cepat untuk meminta modifikasi pada kode, dan memberi Anda tampilan perbedaan untuk menampilkan perubahan yang tertunda pada kode Anda.

Anda juga dapat memilih bagian kode, lalu meminta bantuan Gemini Code Assist melalui panel Gemini Code Assist, dan menerima serta menyetujui atau menolak saran kode saat Anda melakukan coding.

Meminta Gemini Code Assist dengan transformasi kode

  1. Di file kode Anda, pada baris baru, tekan Control+I (untuk Windows dan Linux) atau Command+I (untuk macOS) untuk membuka panel Gemini Code Assist Quick Pick.

  2. Di menu, menggunakan perintah /generate, masukkan /generate function to create a Cloud Storage bucket, lalu tekan Enter (untuk Windows dan Linux) atau Return (untuk macOS).

    Gemini Code Assist menghasilkan kode dengan perintah /generate.

    Gemini Code Assist menghasilkan kode berdasarkan perintah Anda dalam tampilan perbedaan.

    Gemini Code Assist membuka tampilan perbedaan untuk menampilkan kode yang dihasilkan.

  3. Opsional: Untuk menerima perubahan ini, klik Terima.

Opsional: Meminta Gemini Code Assist dalam file kode dengan komentar

Jika mau, Anda juga dapat meminta Gemini Code Assist di file kode dengan komentar dengan mengikuti langkah-langkah berikut:

  1. Pada baris baru, masukkan komentar Function to create a Cloud Storage bucket, lalu tekan Enter (untuk Windows dan Linux) atau Return (untuk macOS).

  2. Untuk membuat kode, tekan Control+Enter (untuk Windows dan Linux) atau Control+Return (untuk macOS).

    Di samping teks perintah Anda di file kode, Gemini Code Assist akan menghasilkan kode dalam bentuk teks bayangan (ghost text).

  3. Opsional: Untuk menerima kode yang dibuat, tekan Tab.

Opsional: Mengubah pintasan keyboard untuk membuat kode

Jika pintasan keyboard default untuk membuat kode tidak berfungsi seperti yang diuraikan di bagian sebelumnya, Anda dapat mengubah pintasan keyboard dengan mengikuti langkah-langkah berikut:

  1. Di IDE, klik File (untuk Windows dan Linux) atau Code (untuk macOS), lalu buka Settings > Keyboard Shortcuts.

  2. Dalam daftar pintasan keyboard, scroll hingga Anda menemukan Cloud Code: Generate code.

  3. Klik Cloud Code: Generate Code, lalu klik edit Change Keybinding.

  4. Pada dialog yang muncul, masukkan pintasan Anda sendiri.

  5. Tekan Enter (untuk Windows dan Linux) atau Return (untuk macOS).

    Anda kini dapat menggunakan pintasan keyboard yang baru ditetapkan untuk membuat kode dengan Gemini Code Assist.

Untuk mempelajari lebih lanjut cara mengubah pintasan di IDE, lihat Penautan Tombol untuk Visual Studio Code.

Meminta Gemini Code Assist dengan kode yang dipilih menggunakan chat

Gemini Code Assist dapat melakukan tugas atau menjawab pertanyaan Anda berdasarkan kode yang Anda pilih. Untuk mendapatkan kode yang dihasilkan berdasarkan perintah dengan kode yang dipilih, ikuti langkah-langkah berikut:

  1. Di panel aktivitas, klik spark Gemini Code Assist untuk membuka panel Gemini Code Assist.

  2. Di file kode, pilih blok kode.

  3. Di kolom teks panel Gemini Code Assist, masukkan perintah untuk kode yang dipilih.

    Misalnya, pilih fungsi dalam kode Anda dan masukkan perintah Write a unit test for this function:

    Gemini menulis pengujian unit untuk fungsi yang dipilih.

    Gemini menggunakan kode yang Anda pilih sebagai referensi dan merespons perintah Anda.

Mendapatkan saran inline saat Anda membuat kode

Saat Anda menulis kode, Gemini Code Assist membuat saran kode inline yang dapat Anda terima atau abaikan. Untuk mencoba fitur ini, ikuti langkah-langkah berikut:

  1. Di file kode, pada baris baru, mulai tulis fungsi. Misalnya, jika Anda berada dalam file Python, tulis def.

    Gemini menyarankan kode dalam bentuk teks bayangan.

  2. Untuk menerima saran kode dari Gemini Code Assist, tekan Tab. Atau, untuk mengabaikan saran, tekan Esc atau lanjutkan menulis kode Anda.

Opsional: Menonaktifkan saran inline

Jika Anda memilih untuk menonaktifkan saran inline di Gemini Code Assist, ikuti langkah-langkah berikut:

  1. Di IDE, pilih Code (untuk macOS) atau File (untuk Windows dan Linux), lalu buka Settings > Settings.

  2. Di tab User dalam dialog Settings, buka Extensions > Cloud Code.

  3. Scroll hingga Anda menemukan daftar Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto, lalu pilih Nonaktif.

    Tindakan ini akan menonaktifkan saran inline. Anda masih dapat menekan Control+Enter (untuk Windows dan Linux) atau Control+Return (untuk macOS) untuk memicu saran inline secara manual.

Menggunakan Perbaikan Cepat transformasi kode

Jika ada error dalam kode Anda, Gemini Code Assist memberi Anda opsi untuk menerapkan perbaikan cepat pada error dengan transformasi kode.

Untuk menerapkan perbaikan cepat dalam file kode, ikuti langkah-langkah berikut:

  1. Di file kode, arahkan kursor ke baris error bergelombang dan pilih Quick Fix, lalu pilih /fix.

    Perbaikan cepat transformasi kode di IDE.

  2. Saat perbaikan cepat diterapkan, tampilan perbedaan akan muncul. Untuk menerima perubahan ini, klik Terima.

Meminta file tertentu di ruang kerja Anda dengan awareness codebase lokal

Kesadaran codebase lokal membantu Anda dengan saran kode berkualitas tinggi yang sintaksisnya benar dan bermakna secara semantik dalam konteks codebase yang lebih luas, saat Anda menentukan file untuk digunakan Gemini Code Assist sebagai konteks.

Untuk menentukan file dalam perintah chat, ketik @, lalu pilih file yang ingin Anda tentukan.

Tentukan file dengan awareness codebase lokal.

Untuk mendapatkan penjelasan tentang perbedaan dua file dalam codebase Anda, ikuti langkah-langkah berikut:

  1. Di panel aktivitas, klik spark Gemini Code Assist.

  2. Di panel Gemini Code Assist, masukkan perintah Explain the difference between @YOUR_FILE_NAME_1 and @YOUR_FILE_NAME_2 dan tekan Enter (untuk Windows dan Linux) atau Return (untuk macOS), atau Tab. Anda juga dapat mengklik nama file dalam daftar untuk memilih file. Mengklik nama file akan menambahkan file ke konteks perintah dan membuka file di IDE Anda.

    Gemini Code Assist merespons perintah Anda saat menggunakan dua file yang Anda tentukan untuk konteks. Gemini Code Assist juga menyertakan file yang Anda tentukan di Sumber Konteks.

Setelah menentukan file tersebut, Anda dapat terus mengajukan pertanyaan atau perintah tambahan dalam histori chat yang sama, tanpa harus menentukan file lagi.

Misalnya: Di panel Gemini Code Assist, masukkan perintah How can I improve YOUR_FILE_NAME_1? (tanpa simbol @) dan tekan Enter (untuk Windows dan Linux) atau Return (untuk macOS).

Gemini Code Assist merespons pertanyaan Anda tentang file yang ditentukan dalam perintah Anda.

Opsional: Mengecualikan file dari konteks dengan file .aiexclude

Anda dapat mengecualikan file agar tidak dipertimbangkan oleh Gemini Code Assist untuk konteks dengan membuat file .aiexclude. File .aiexclude mengikuti sintaksis yang mirip dengan file .gitignore, dengan perbedaan berikut:

  • File .aiexclude yang kosong atau tidak ada tidak akan memblokir file apa pun di direktorinya dan semua subdirektori.
  • File .aiexclude tidak mendukung negasi, tempat Anda menambahkan awalan pola dengan tanda seru (!).
  • File .aiexclude cocok dengan karakter * secara rakus. Ini akan cocok tanpa pandang bulu pada direktori dan file. File .aiexclude ini tidak membedakan antara ** atau * sehubungan dengan folder atau file.

Saat ini, hanya satu file .aiexclude yang didukung. Untuk mengonfigurasi file .aiexclude, buat file berjudul .aiexclude di root folder ruang kerja Anda. Jika Anda ingin menempatkan file ini di luar root ruang kerja, atau mengganti nama file, jalur dapat ditetapkan di setelan VS Code di bagian "Context Exclusion File". Nilai jalur yang diberikan dalam setelan ini akan di-resolve secara relatif terhadap folder root ruang kerja terbuka Anda.

Contoh

Contoh berikut menunjukkan cara mengonfigurasi file .aiexclude:

  • Blokir semua file bernama apikeys.txt di atau di bawah direktori ruang kerja:

    apikeys.txt
    
  • Blokir semua file dengan ekstensi file .key di atau di bawah direktori ruang kerja:

    *.key
    
  • Hanya blokir file apikeys.txt di direktori yang sama dengan file .aiexclude, tetapi tidak di subdirektori mana pun:

    /apikeys.txt
    
  • Blokir semua file di direktori my/sensitive/dir dan semua subdirektorinya. Jalur harus relatif terhadap direktori root ruang kerja.

    my/sensitive/dir/*
    

Menonaktifkan saran kode yang cocok dengan sumber yang dikutip

Gemini memberikan informasi kutipan saat mengutip secara mendetail dari sumber lain, seperti kode open source yang ada. Untuk informasi selengkapnya, lihat Cara dan waktu Gemini mengutip sumber.

Untuk mencegah kode yang cocok dengan sumber yang dikutip agar tidak disarankan, Anda dapat mengubah setelan cloudcode.duetAI.recitation.maxCitedLength menjadi 0 dalam file settings.json:

"cloudcode.duetAI.recitation.maxCitedLength": 0

Menggunakan tindakan cerdas

Untuk membantu Anda menjadi lebih produktif sekaligus meminimalkan pengalihan konteks, Gemini Code Assist menyediakan tindakan cerdas yang didukung AI langsung di editor kode Anda. Jika memilih kode di editor kode, Anda dapat melihat dan memilih dari daftar tindakan yang relevan dengan konteks.

Untuk menggunakan tindakan cerdas dalam kode Anda, ikuti langkah-langkah berikut:

  1. Di file kode, pilih blok kode.

  2. Di samping blok kode yang dipilih, klik lightbulb Tampilkan Tindakan Kode.

    Ikon bola lampu tindakan cerdas muncul setelah memilih blok kode di VS Code.

  3. Pilih tindakan seperti Buat pengujian unit.

    Gemini menghasilkan respons yang didasarkan pada tindakan yang Anda pilih.

Menguji contoh perintah lainnya

Setelah membaca bagian Membuat kode dengan perintah dalam dokumen ini, coba beberapa contoh perintah berikut.

Mendapatkan penjelasan kode

  1. Di file kode, pilih fungsi yang ingin Anda jelaskan.
  2. Di panel Gemini Code Assist, masukkan perintah Explain this code to me.

    Gemini menggunakan kode yang Anda pilih sebagai referensi dan merespons dengan penjelasan fungsi yang dipilih.

Membuat rencana pengujian

  1. Di file kode, pilih kode yang ingin Anda tambahkan pengujian unitnya.
  2. Di panel Gemini Code Assist, masukkan perintah Write unit tests for my code.

Mendapatkan bantuan terkait proses debug kode

  1. Di file kode, pilih kode yang ingin Anda debug.
  2. Di panel Gemini Code Assist, masukkan perintah Help me debug my code.

Membuat kode Anda lebih mudah dibaca

  1. Di file kode, pilih kode yang ingin Anda buat lebih mudah dibaca.
  2. Di panel Gemini Code Assist, masukkan perintah Make my code more readable.

    Jika Anda lebih memilih untuk berfokus pada bagian tertentu dari kode, pilih bagian kode yang diinginkan sebelum meminta Gemini.

Masalah umum

Bagian berikut menguraikan masalah umum Gemini Code Assist.

Respons chat dapat terpotong jika menyertakan versi terbaru dari file terbuka yang besar

Untuk mengatasi masalah ini, pilih bagian kode yang lebih kecil dan sertakan perintah tambahan dalam perintah chat, seperti only output the selected code.

Vim: Tidak dapat menerima atau menutup saran pembuatan kode kecuali dalam mode sisipan

Saat menggunakan plugin Vim dalam mode normal, Anda tidak dapat menerima atau menutup sugesti kode.

Untuk mengatasi masalah ini, tekan i untuk masuk ke mode sisipan, lalu tekan Tab untuk menerima saran.

Vim: Perilaku yang tidak konsisten saat menekan Esc untuk menutup saran

Saat Anda menekan Esc, saran IDE dan Gemini akan ditutup. Perilaku ini berbeda dengan perilaku non-Vim saat menekan Esc memicu ulang Gemini.

Waktu login terus habis

Jika waktu tunggu login Anda terus habis, coba tambahkan setelan cloudcode.beta.forceOobLogin ke file settings.json:

"cloudcode.beta.forceOobLogin": true

Peringatan pembacaan lisensi tidak akan dipertahankan di seluruh sesi

Jika peringatan pembacaan lisensi tidak tetap ada di seluruh sesi, lihat log persisten:

  1. Klik View > Output.

  2. Pilih Gemini Code Assist - Citations.

Masalah konektivitas di jendela output Gemini Code Assist

Jika Anda melihat error koneksi atau masalah konektivitas lainnya di jendela output Gemini Code Assist, coba langkah berikut:

  • Konfigurasikan firewall Anda untuk mengizinkan akses ke oauth2.googleapis.com dan cloudaicompanion.googleapis.com.

  • Konfigurasikan firewall Anda untuk mengizinkan komunikasi melalui HTTP/2, yang digunakan gRPC.

Anda dapat menggunakan alat grpc-health-probe untuk menguji konektivitas. Pemeriksaan yang berhasil akan menghasilkan output berikut:

$ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved

Pemeriksaan yang gagal akan menghasilkan output berikut:

timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

Untuk mendapatkan detail selengkapnya, jalankan perintah berikut sebelum grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

'Aktifkan Gemini Code Assist' masih muncul setelah memilih project Gemini Code Assist

Jika Anda memilih project sesuai petunjuk dalam panduan ini, yang mencakup pengaktifan Gemini untuk Google Cloud API, mungkin ada masalah dengan server LS.

Untuk mengetahui detail selengkapnya tentang masalah Anda, lakukan tindakan berikut:

  1. Di status bar, klik spark Gemini Code Assist, lalu pilih Kirim masukan.

  2. Klik Tampilkan untuk file log mana pun guna melihat detail selengkapnya dan membantu memecahkan masalah.

Berikan masukan

Untuk memberikan masukan tentang pengalaman Anda, ikuti langkah-langkah berikut:

  1. Di status bar, klik Gemini Code Assist, lalu di menu Quick Pick, pilih Send feedback.

  2. Di formulir, isi kolom Judul dan Komentar.

  3. Jika Anda ingin membagikan log Skaffold atau AI Companion, pastikan Anda memilih opsi Kirim log Skaffold atau Kirim log AI Companion.

  4. Klik Kirim Masukan.

Langkah selanjutnya