1. 簡介
在本實驗室中,您將使用 Google Cloud 的 AI 協作工具 Gemini Code Assist。您將熟悉如何使用 Gemini Chat 和內嵌程式碼輔助功能生成程式碼、瞭解程式碼,以及執行其他 AI 輔助程式碼編寫工作。
執行步驟
- 您將使用 Cloud Shell IDE 下載現有的網頁應用程式程式碼範本。
- 您將在 Cloud Shell IDE 中使用 Gemini Chat,詢問有關 Google Cloud 的一般問題。
- 您會在 Cloud Shell IDE 中使用 Gemini Code Assist 的行內程式碼輔助功能,生成、摘要及完成程式碼。
課程內容...
- 如何使用 Gemini Code Assist 執行多項開發人員工作,例如生成程式碼、補全程式碼及產生程式碼摘要。
- 如何使用 Cloud Assist 瞭解 Google Cloud。
事前準備
- Chrome 網路瀏覽器
- Gmail 帳戶
- 已啟用計費功能的 Cloud 專案
- 為雲端專案啟用 Gemini Code Assist
本實驗室適合各種程度的開發人員,包括初學者。雖然範例應用程式是以 Python 語言編寫,但您不需要熟悉 Python 程式設計,也能瞭解發生了什麼事。我們將著重於熟悉 Gemini Code Assist 的開發人員功能。
2. 設定
本節說明如何開始進行這個實驗室。
在 Google Cloud 專案中啟用 Cloud Assist
我們現在要在 Google Cloud 專案中啟用 Cloud Assist。請按照下列步驟操作:
- 前往 https://console.cloud.google.com,並確認已選取要在本實驗室中使用的 Google Cloud 專案。按一下右上方的「開啟 Gemini」圖示。

- Cloud Assist 對話視窗會在控制台右側開啟,點選「啟用」按鈕,如下所示。如果沒有看到「啟用」按鈕,而是看到 Chat 介面,表示您可能已為專案啟用 Cloud Assist,可以直接前往下一個步驟。

- 啟用後,您可以提出一兩個提示,測試 Cloud Assist 的功能。畫面會顯示幾個查詢範例,但你可以嘗試類似
What is Cloud Run?的查詢

Cloud Assist 會回覆問題的答案。如要關閉 Cloud Assist 即時通訊視窗,請按一下右上角的
圖示。
在 Cloud Shell IDE 中啟用 Gemini Code Assist
在接下來的程式碼研究室中,我們將使用 Cloud Shell IDE,這是以 Code OSS 為基礎的全代管開發環境。我們需要在 Cloud Shell IDE 中啟用及設定 Code Assist,步驟如下:
- 前往 ide.cloud.google.com。IDE 可能需要一段時間才會顯示,請耐心等候。
- 點選底部狀態列中的「Cloud Code - Sign in」按鈕,如下圖所示。依指示授權外掛程式。如果狀態列顯示「Cloud Code - no project」,請選取該項目,然後從專案清單中選取要使用的特定 Google Cloud 專案。

- 如圖所示,按一下右下角的「Gemini」Gemini按鈕,然後最後一次選取正確的 Google Cloud 專案。如果系統要求啟用 Gemini for Google Cloud API,請啟用並繼續操作。
- 選取 Google Cloud 專案後,請確認狀態列的 Cloud Code 狀態訊息中已顯示該專案,且狀態列右側也已啟用 Code Assist,如下所示:

現在可以開始使用 Gemini Code Assist 了!
選用:如果右下方的狀態列未顯示 Gemini,請在 Cloud Code 中啟用 Gemini。請先前往「Cloud Code Extension」→「Settings」,然後輸入「Gemini」,確認 IDE 已啟用 Gemini,如下所示。確認已選取核取方塊。您應重新載入 IDE。這會啟用 Cloud Code 中的 Gemini,且狀態列中的 Gemini 圖示會顯示在 IDE 中。

3. 建立範例應用程式
我們會建立範例應用程式 (Python Flask 應用程式),用來探索 Gemini Code Assist 的功能。
步驟如下:
- 按一下下方狀態列中的 Google Cloud 專案名稱。

- 系統會顯示選項清單,按一下下方清單中的「New Application」。

- 選取「Cloud Run」應用程式。
- 選取「Python (Flask): Cloud Run」應用程式範本。
- 將新應用程式儲存到偏好的位置。
- 系統會顯示通知,確認您已建立應用程式,並開啟新視窗,載入應用程式,如下所示。系統會開啟
README.md檔案。目前可以關閉該畫面。

4. 與 Gemini 對話
首先,我們將學習如何與 Gemini 對話。在 VS Code 中,Gemini 可做為 Cloud Shell IDE 內的對話助理,是 Cloud Code 擴充功能的一部分。只要點選左側導覽列中的 Gemini 按鈕,即可開啟側邊面板。在左側導覽工具列中尋找 Gemini 圖示
,然後點選該圖示。
這時 Cloud Shell IDE 會顯示「Chat: Gemini」窗格,你可以與 Gemini 對話,取得 Google Cloud 相關協助。

我們來使用 Gemini Chat 窗格輸入提示,並查看 Gemini 的回覆。輸入下列提示詞:
What is Cloud Run?
Gemini 應回覆 Cloud Run 的詳細資料。提示詞是指透過問題或陳述來說明您需要的協助。提示詞中可加入現有程式碼的背景資訊,Google Cloud 會分析這些資訊,提供更實用或完整的回覆。如要進一步瞭解如何撰寫提示詞才能生成好的回覆,請參閱「為 Gemini in Google Cloud 撰寫更有效的提示詞」。
請嘗試使用下列範例提示詞或任何您自己的提示詞,詢問有關 Google Cloud 的問題:
What is the difference between Cloud Run and Cloud Functions?What services are available on Google Cloud to run containerized workloads?What are the best practices to optimize costs while working with Google Cloud Storage?
請注意頂端的垃圾桶圖示,這是重設 Code Assist 聊天記錄環境的方法。另請注意,這項即時通訊互動會根據您在 IDE 中處理的檔案提供相關資訊。
5. 程式碼說明
Gemini Code Assist 直接在程式碼編輯器中提供 AI 輔助智慧動作,協助您提高工作效率,同時減少切換情境的次數。在程式碼編輯器中選取程式碼時,您可以查看並選取與內容相關的動作清單。
您可以運用 Gemini Code Assist 瞭解應用程式程式碼的各個部分。返回上一個步驟中建立的應用程式,然後使用 Gemini Code Assist 說明 IDE 中的檔案和程式碼。
- 如果找不到檔案,請在 IDE 活動列點按「Explorer」圖示
。 - 在 Explorer 窗格選取「Dockerfile」。
- 選取檔案內容的任何部分,然後依序點按燈泡圖示 (
) 和「Gemini: Explain this」。舉例來說,選取開頭為「ENTRYPOINT」的程式碼行,然後依序點按燈泡圖示 (
) 和「Gemini: Explain this」。Gemini 會生成一段自然語言敘述,說明您需要更多資訊的 Dockerfile 特定部分。Gemini 會針對 ENTRYPOINT 指令提供詳細回覆。您會瞭解到,若按照該說明操作,Docker 就會在容器啟動時執行 app.py檔案。 - 如要查看
app.py檔案內容,請依序點按活動列中的「Explorer」圖示
和 app.py。 - 在 hello() 函式定義中,您可以選取要進一步瞭解的程式碼行。然後依序點按燈泡圖示 (
) 和「Gemini : Explain this」。在本例中,我們選取了下列兩行程式碼,然後觸發「Gemini: Explain this」動作。

- Gemini 會在回覆中詳細介紹這兩個 Cloud Run 環境變數 (
K_SERVICE, K_REVISION),並說明如何在應用程式程式碼使用這些變數。請注意,Gemini 不僅瞭解 Google Cloud 和 Cloud Run 等服務,還能說明 Python 程式碼,並提供 Cloud Run 中這些變數的相關背景資訊。
您也可以嘗試下列其他方式來取得程式碼說明:
- 在 IDE 中,將 app.py 設為目前開啟的檔案。前往 VS Code 左側導覽列的 Gemini 對話窗格,然後輸入提示詞「Explain this file」。系統會分析整個檔案,並向你說明內容。
- 你也可以選取檔案的任何部分,然後使用左側的 Gemini 對話窗格,輸入提示「說明這部分」。這項功能只會說明檔案的選取部分。這與依序點按燈泡(
) 和「Gemini: Explain this」類似。 - 您也可以選取部分文字,然後點選 IDE 右上方的「Gemini: Smart Actions」,取得可對所選文字執行的動作清單,如下所示。其中一個選項是「說明這項動作」:

6. 使用提示生成程式碼
本節說明如何使用 Gemini Code Assist 從註解生成程式碼。
我們來試試這些功能。請按照下列步驟操作:
- 建立名為
utils.py的新檔案。 - 在新的程式碼檔案中,於新的一行輸入
# Function to print a list of blobs in a Google Cloud Storage bucket,然後按下Enter鍵 (適用於 Windows 和 Linux) 或Return鍵 (適用於 macOS)。Gemini 可能會在您輸入內容時嘗試生成程式碼,但您並未接受。我們會在下一個步驟中觸發程式碼生成。 - 如要觸發程式碼生成功能,請按下
Control+Enter鍵 (Windows 和 Linux) 或Control+Return鍵 (macOS)。在 Python 檔案中,Gemini Code Assist 會在提示文字旁生成淡色文字的程式碼。工具列會提供一或多個程式碼建議,方便您在多個建議之間切換。您甚至可以透過工具列接受任何程式碼建議。如果工具列沒有顯示或消失,請將游標懸停在生成的程式碼上,工具列就會再次顯示。 - 選用:如要接受產生的程式碼,請按
Tab。如果有多個建議,可以多次按下Tab,從一個建議的程式碼片段前往下一個。
系統會將您接受的程式碼插入 utils.py 檔案。螢幕截圖範例如下所示。您收到的程式碼可能與下方顯示的程式碼不同。如果系統產生其他方法,您可以在接受程式碼後刪除這些方法。

您可能會注意到程式碼中出現波浪線,如果看到,這就是程式碼引用的實際運作方式。將游標懸停在任一行上,系統就會顯示程式碼出處和授權相關資訊。範例如下所示:

然後按一下「快速修正...」,即可選擇忽略引用警告。系統會顯示建議的快速修正,範例如下:

如果接受程式碼授權,可以選擇「Ignore Citation Warning」(忽略引用警告)。
(選用) 此外,您也可以嘗試以下幾種程式碼生成方式:
- 你也可以使用 Gemini 對話功能,提出相同的提示,並在對話視窗中取得回覆。接著,Chat 介面會顯示複製程式碼或插入目前檔案的選項。
- 您可以嘗試輸入自己的提示,取得想要的程式碼範例。以下提供幾項建議 (假設您位於其中一個 Python 檔案中):或從下列提示中選擇:
- 編寫 Python 程式碼,將訊息發布至 Google Cloud Pub/Sub
- 編寫 Python 程式碼來初始化 BigQuery 用戶端
- 編寫 Python 程式碼,將應用程式連線至 Cloud SQL
7. 在編寫程式碼時取得行內程式碼建議
撰寫程式碼時,Gemini Code Assist 會提供內嵌程式碼建議,您可以選擇接受或忽略。如要試用這項功能,請修改上一節中建立的 utils.py 檔案:
- 在 Cloud Shell IDE 中,將
utils.py檔案開啟為目前檔案。 - 其中一項做法是提供正確的
import陳述式 (如果產生的程式碼中沒有這些陳述式)。 - 開始輸入
import一字,您應該會看到 Gemini Code Assist 以淡色文字的形式建議程式碼。如要接受 Gemini Code Assist 的程式碼建議,請按下Tab鍵。如要忽略建議,請按下Esc鍵或繼續撰寫程式碼。在下方的範例畫面中,系統建議匯入storage類別,因為程式碼中會用到這個類別。按下Tab鍵即可接受程式碼建議。系統也會建議使用import os陳述式,但由於不需要,因此可以移除。

- 前往
utils.py檔案結尾,然後新增呼叫函式的程式碼行 (如未提供)。在本例中,這是print_blobs函式。只要開始輸入函式名稱,程式碼完成功能就會協助您完成陳述式。 - 您需要提供 bucket_name,並可使用下列公開值區名稱:
gemini-codeassist-bucket。函式的範例呼叫如下所示。請注意,函式名稱等項目可能會有些許差異。
print_blobs(bucket_name="gemini-codeassist-bucket")
(選用) 執行程式碼範例
由於我們編寫的程式碼會列出 Google Cloud Storage 值區中的 Blob,因此需要安裝 google-cloud-storage Python 程式庫。
前往 requirements.txt 檔案,並新增一行 google-cloud-storage 依附元件,如下所示。以下是 �requirements.txt 檔案範例。
Flask==2.3.3 requests==2.31.0 debugpy # Required for debugging. google-cloud-storage
儲存 requirements.txt 檔案。
如要查看實際運作的程式碼,我們需要透過左上角的選單圖示,從 Cloud Shell IDE 啟動新的終端機工作階段。按一下選單圖示,然後依序點選「Terminal」→「New Terminal」,如下所示:

在終端機工作階段中,透過下列指令安裝 Python 依附元件:
pip3 install -r requirements.txt
最後,您可以透過下列指令執行 utils.py 檔案:
python utils.py
這時應該會顯示公開 Google Cloud Storage bucket 中的 Blob。輸出內容中應會列出 2 個 Blob (file1.txt 和 file2.txt)。
疑難排解
如果在顯示上述公開 bucket 中的物件時收到「存取」錯誤,您可以選擇建立自己的 Google Cloud Storage bucket,並改用該 bucket,而非 gemini-codeassist-bucket。下一節將說明如何執行這項操作。
(選用) 建立自己的 Cloud Storage bucket
請 Gemini 提供指令,協助我們建立 bucket、開放公開存取,並將範例物件上傳至 bucket。
首先,請輸入下列提示:「What is the gcloud command to create a public bucket in Google Cloud Storage?」(在 Google Cloud Storage 中建立公開 bucket 的 gcloud 指令是什麼?)
這時應該會提供建立 bucket 的 gcloud 指令。確切指令如下所示:
gcloud storage buckets create gs://<BUCKET_NAME>
為 <BUCKET_NAME> 選取專屬名稱,並在終端機中執行指令。
我們已建立值區,現在希望值區可供公開存取。讓我們使用下列提示詞,請 Gemini 提供相關指令:「How do I make a google cloud storage bucket publicly accessible?」(如何將 Google Cloud Storage bucket 設為公開存取?)
這時應該會提供 gcloud 指令,讓您公開存取該值區。回覆內容應如下所示:
gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer
將 <BUCKET_NAME> 替換為您先前使用的 bucket 名稱,然後執行指令。
最後,我們要將幾個範例檔案上傳至值區。在終端機中執行下列指令 (請記得將 <BUCKET_NAME> 變數替換為您的 bucket 名稱)。
touch f1.txt touch f2.txt gcloud storage cp f1.txt gs://<BUCKET_NAME> gcloud storage cp f2.txt gs://<BUCKET_NAME>
現在可以使用 <BUCKET_NAME> 執行 utils.py 檔案,不必使用 gemini-codeassist-bucket。
清除所用資源
如果您自行建立了 Google Cloud Storage bucket,強烈建議刪除該 bucket,以免產生任何費用和潛在安全風險。
您可以使用下列指令刪除 bucket:
gcloud storage buckets delete gs://<BUCKET_NAME>
8. 恭喜!
恭喜!您已成功在範例專案中使用 Gemini Code Assist,瞭解這項工具如何協助您生成、完成及摘要程式碼,並回答 Google Cloud 相關問題。