WebIDE是函數計算提供的在線開發IDE,提供接近原生VSCode的云端開發體驗。開發者能夠直接在線進行代碼編寫、調試和部署,而不需要在本地安裝復雜的開發環境。本文介紹WebIDE的功能、界面概覽以及通過函數計算控制臺配置WebIDE等。
功能介紹
WebIDE支持以下功能。
完整的代碼開發、部署和調試功能。
WebIDE的終端環境和線上函數計算的Runtime執行環境一致。
針對不同的Runtime,預置pip、npm和composer等常用的開發工具和編程語言開發環境。您可以直接在終端打包第三方依賴,而無需擔心和線上環境有差異。
內置Serverless Devs工具,并能自動根據您當前登錄的賬號完成Serverless Devs配置,無需再執行
s config
命令。配置的別名默認為default
。
使用通義靈碼輔助代碼編寫。
開發者可以開箱即用使用通義靈碼的智能編碼能力,提高編碼效率。通義靈碼能夠實時進行代碼審查,檢測潛在的邏輯錯誤,且當函數運行異常時,能快速定位問題然后提供修復指導,實現開發效率和代碼質量的雙重提升。
為了獲得更好的WebIDE使用體驗,建議您使用最新版本的Google Chrome瀏覽器。
使用限制
WebIDE目前僅支持Python、Node.js、PHP和Custom Runtime運行時。具體信息,請參見函數計算的WebIDE支持的Runtime有哪些?。不支持Java、Go和C#運行時在線編輯,以上語言只支持上傳編譯打包后的ZIP文件或二進制文件。
WebIDE為每個用戶提供的存儲空間為5 GB,超出后將無法執行寫入操作,請及時清理。
打開某個函數的WebIDE后,會自動啟用一個實例。此實例約等于一個1核 1.5GB的容器實例。
WebIDE實例的環境與您函數的Runtime環境一致,但是此實例無法加載您的自定義層和掛載的NAS或OSS,且無法訪問您的服務配置的VPC環境。如您有此需求,可以完成代碼部署后再調用函數,或者使用專有版WebIDE。
專有版WebIDE目前僅支持在華東1(杭州)、華東2(上海)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、華南1(深圳)、中國香港、新加坡、日本(東京)、德國(法蘭克福)和美國(弗吉尼亞)地域使用。如果您需要在其他地域使用,請加入釘釘用戶群(釘釘群號:11721331)申請。
WebIDE界面概覽
下圖為全屏模式下的WebIDE界面,劃分為①資源管理器、②文件編輯區、③函數操作區和④命令行終端四個區域。
①資源管理器:查看代碼結構,包括代碼文件和依賴文件等。
②文件編輯區:完成函數代碼的編輯。代碼編輯完成后,您可以單擊右上角的按鈕開始調試您的代碼。如果需要完全實現線上和終端環境一致,需要在③函數操作區單擊部署代碼。
③函數操作區:完成函數代碼的部署和測試。單擊退出全屏后,函數操作區位于WebIDE界面的左上方。
④命令行終端:在WebIDE界面上方工具欄,選擇
打開命令行終端。在命令行終端,您可以調試您的代碼或者安裝第三方依賴。
通過控制臺配置WebIDE
前提條件
操作步驟
- 登錄函數計算控制臺,在左側導航欄,單擊服務及函數。
- 在頂部菜單欄,選擇地域,然后在服務列表頁面,單擊目標服務。
- 在函數管理頁面,單擊目標函數名稱,然后在函數詳情頁面,單擊函數代碼頁簽。
可選:在函數詳情頁面的函數代碼頁簽,單擊右上角的配置 WebIDE,然后在配置 WebIDE面板,選擇WebIDE的類型。
您可以選擇Serverless 版WebIDE或者專有版WebIDE。
Serverless 版
您可以同時勾選關閉專有版 WebIDE,確保每次打開WebIDE時,都默認選擇Serverless 版WebIDE。
專有版
如果需要實例能夠加載您的自定義層和掛載的NAS或OSS,以及訪問服務配置的VPC環境,可以選擇專有版WebIDE,同時設置以下配置項。
實例規格方案
執行超時時間
如果選擇專有版WebIDE,函數計算將根據您函數所屬地域的VPC情況,復用或者自動創建一個VPC、一個交換機和一個通用型NAS。關于自動創建資源的費用詳情,請參見通用型NAS計費。
在WebIDE界面,按需執行函數代碼編寫、測試和安裝第三方依賴等操作。
關于WebIDE界面的分區介紹,請參見WebIDE界面概覽。
如果選擇專有版WebIDE,請確保您的函數能正常執行,否則可能無法正常打開WebIDE。
常見問題
WebIDE加載異常,如何處理?
嘗試刷新函數詳情頁面或者快速重置WebIDE環境。關于重置WebIDE環境的具體操作,請參見如何快速重置函數的WebIDE環境和工作空間內容?。
什么是專有版WebIDE?
專有版WebIDE的本質是部署在您的賬號下的一個FC函數。函數所屬的服務名稱以_webide-server-
開頭。
使用專有版WebIDE,實例可以加載您的自定義層和掛載的NAS或OSS,且支持訪問您的服務配置的VPC,實現真正的終端與線上Runtime環境一致,便于更好的開發和調試。您還可以選配實例的規格方案,例如,提高CPU和內存規格,提升WebIDE性能。
選擇專有版WebIDE后,其本質的函數運行在您自己的賬號下,因此,需額外承擔以下費用成本。
為什么函數在終端中執行成功,單擊測試函數執行失敗?
WebIDE可以幫助開發者快速進行代碼測試、項目構建和依賴安裝,但是WebIDE的環境并非函數計算真正的執行環境。在WebIDE中,無法直接測試自定義層和掛載的NAS或OSS,也無法測試通過VPC訪問對應資源。
為了避免出現此問題,您可以選擇使用專有版WebIDE或者編輯完代碼后,單擊部署代碼,然后單擊測試函數進行測試。
如何快速重置函數的WebIDE環境變量、Runtime和層?
當您重新刷新函數詳情頁面或WebIDE界面時,會將線上函數最新的環境變量、層以及Runtime更新到WebIDE實例。您可以在終端執行env
查看最新的函數環境變量等信息。
Serverless版WebIDE工作空間會保存多久?
默認工作空間保存的時間為48小時,即如果您持續48小時未通過WebIDE打開這個函數,這個工作空間內容會被刪除。
另外,如果線上代碼通過控制臺或調用SDK工具等方式被修改,函數的code checksum
發生變更,刷新或重新打開WebIDE,會自動刷新工作區間的內容為線上最新代碼。
函數計算的WebIDE支持的Runtime有哪些?
WebIDE支持的Runtime如下所示。
Python
支持Python 3.10、Python 3.9、Python 3.6和Python 2.7。
Node.js
支持Node.js 16、Node.js 14、Node.js 12、Node.js 10和Node.js 8。
PHP
支持PHP 7.2。
Custom Runtime
支持Custom Runtime和Custom Runtime(Debian10)。
是否支持在WebIDE進行代碼調試?
支持。您可以直接使用WebIDE內置的各Runtime的VSCode調試插件。如果是Custom Runtime其他小眾語言,可以安裝合適的VSCode插件。
以Python 3.9為例,需要增加一些輔助代碼來完成Handler函數運行。如下圖紅框所示。
修改函數,git插件會顯示代碼差異,是因為WebIDE對函數代碼進行了托管嗎?
不是。WebIDE打開時,第一次打開函數代碼包,會自動初始化一個git init
,用于顯示當前代碼和線上代碼的差異。當您單擊一次部署函數后,會自動生成一個commit
,即實現終端和線上的代碼完全一致(下圖中save function with codechecksum xxxx
表示執行了一次函數部署)。該功能用于提升用戶使用體驗。
同一個阿里云賬號的兩個RAM用戶打開相同的函數,為什么顯示的代碼不一樣?
函數計算的WebIDE支持同一個阿里云賬號的RAM用戶的工作空間隔離。例如,RAM用戶A打開的是WebIDE A,RAM用戶B打開的是WebIDE B,RAM用戶A在自己的工作空間修改代碼等,RAM用戶B無法感知。此時,RAM用戶A和RAM用戶B看到的代碼顯示不同。
RAM用戶A和RAM用戶B均可以看到自己工作空間和線上函數代碼的差異。更多信息,請參見修改函數,git插件會顯示代碼差異,是因為WebIDE對函數代碼進行了托管嗎?。
WebIDE終端打開很慢或者打不開怎么辦?
您可以參照以下步驟進行排查:
檢查網絡設置是否正確,例如您的本地客戶端是否設置了代理限制訪問,或者禁用了WebSocket協議。WebIDE使用WebSocket進行實時通信和交互,禁用WebSocket將導致WebIDE無法正常運行。
檢查本地客戶端是否打開的是海外地域的函數,如果本地客戶端網絡跨境能力較差,嘗試打開海外地域的函數會導致連接緩慢或者無法連接。
檢查您的代碼包是否過大。如果代碼包體積過大,上傳或部署代碼需要較長的時間,您可以嘗試優化代碼包后再重試。
如果按照以上步驟排查處理后,問題仍未解決,請聯系我們。
相關文檔
您還可以使用WebIDE終端打包函數的第三方依賴。具體操作,請參見使用WebIDE打包函數第三方依賴。
如果您的函數代碼體積較大,或要安裝的第三方依賴包體積較大,可將函數依賴提煉到層或者使用函數計算官方公共層來縮小代碼體積。具體操作,請參見創建自定義層。
您也可以通過Serverless Devs工具的本地調試功能在本地對函數進行測試。更多信息,請參見本地調試。