?
前言
Trae插件獲取:https://www.trae.com.cn/plugin
在編程的世界里,效率就是生命。我們開發者常常為了一個項目的搭建,重復著創建文件夾、初始化項目配置、編寫樣板代碼等一系列繁瑣的操作,耗費了大量的時間和精力。而如今,Trae 插件的 Builder 模式橫空出世,為我們的編程之旅帶來了一束全新的光亮。它就像是一個智能化的Ai工程師,能夠理解我們的需求,快速搭建起項目的框架,極大地減少了重復性工作,讓我們得以將更多的精力投入到核心邏輯的開發中。由于馬上就要端午節了,那么接下來我將利用Trae插件的builder模式,帶大家從0到1開發一個端午包粽子小游戲。
Trae插件builder模式介紹
????
什么是Trae 插件的Builder 模式呢?通俗點來說,就好比你想蓋一座房子,正常情況下,你得先畫圖紙、挖地基、砌墻、裝窗戶等等,一步步來,這中間要操心好多瑣碎又重復的活兒。而 Builder 模式就像是有個智能的建筑工人,你跟它說 “我要蓋一座兩層樓的別墅,要有個大大的客廳、三間臥室、一個花園”,它立馬就能把房子的大體框架給你搭好,地基挖好、墻砌到一定高度、門窗位置也都留出來,甚至還能把水電線路的大概走向都規劃好,后續你再在它的基礎上精細裝修、布置內部細節就行。
功能特點
- 自然語言項目初始化 :開發者只需用自然語言描述項目需求,如 “創建一個 Python Flask Web 應用,實現用戶注冊登錄功能,使用SQLite 數據庫存儲數據,前端使用 Bootstrap5”,Builder模式就能理解并響應,創建項目結構、生成核心代碼文件,還能提供開發路線圖建議。
- 智能項目架構設計 :能根據項目類型自動選擇合適的技術棧和架構模式。如 Web 應用推薦 Flask/Django + Bootstrap及 MVC 架構;數據分析項目推薦 Pandas + Matplotlib 及管道模式等。
- 多文件協調代碼生成 :可同時生成多個文件的代碼,并確保這些文件之間的協調性,使項目代碼結構完整規范。
- 生成并處理代碼變更:根據需求自動創建新文件或編輯已有文件,并自動保存生成的代碼。開發者可選擇接受或拒絕代碼變更,包括處理多文件內的所有代碼變更和單文件內的所有代碼變更。
- 生成并運行命令 :會根據開發需求推薦必要的 Shell 命令,開發者選擇 “運行” 或 “跳過”,點擊 “運行” 后在 IDE終端內運行該命令,命令運行后 Builder 會自動讀取并分析運行結果,若運行異常會自動分析原因并給出解決建議。
- 成果實時預覽 :完成開發需求后會提供 “預覽” 按鈕,點擊后可展示開發成果,如 Preview頁面等,方便開發者邊開發邊驗證,及時調整優化。
Trae插件安裝與使用
安裝
這里以IDEA為例,首先點擊左上角“文件”,然后選擇“設置”。
在彈出的對話框中單擊“插件”,然后搜索“Trae”。選擇搜索結果中的第一個,然后單擊安裝。(注意,這里可能會出現搜索不到任何東西的情況,這種情況一般是沒連接上網絡。確定網絡沒問題之后多刷新幾次就好了)
安裝后需要重啟IDEA
重啟后單擊右側的圖標就可以打開Trae了,默認的是Chat模式,我們選擇Builder模式即可。(注意,第一次安裝這里可能會出現沒有紅框中的這部分內容,不能選擇模式。這種情況再重啟一下IDEA就可以了。)
使用
安裝好以后我們就可以在下方輸入框中用自然語言進行提問了,但是為了達到預期效果,我們提問時還是要規范。可以從以下幾個方面來規范問題:
- 明確項目類型:清楚地說出你要創建的項目是什么類型,比如是網站、小程序、桌面應用,還是其他類型的應用程序。
- 具體功能描述:詳細描述項目需要具備的功能,比如用戶注冊登錄、數據可視化展示、文件上傳下載等。
- 指定技術棧:如果對項目所用的技術有要求,要明確指出,例如使用 Python 的 Flask 框架搭建后端、用 React 構建前端界面等。
- 提及非功能性需求:如有界面風格、性能要求、安全性要求等非功能性需求,也可在描述中提及,以便生成更貼近你期望的項目。
示例如下:
- 電商網站:創建一個電商網站,前端使用 Vue.js 構建用戶界面,后端采用 Python 的 Django框架搭建。網站要具備用戶注冊登錄功能,用戶可以瀏覽商品、添加商品到購物車、下單購買。商品信息存儲在 MySQL數據庫中,整體風格要簡潔清新,適合大眾消費群體,同時要實現商品搜索功能,方便用戶查找所需商品。
- 數據分析工具:開發一個數據分析工具,使用 Python 的 Pandas 庫處理數據,Matplotlib庫實現數據可視化。工具能夠讀取 Excel 和 CSV格式的文件,對數據進行清洗、過濾和分析,生成柱狀圖、折線圖、餅圖等多種可視化圖表,并將分析結果保存為新的文件或直接在界面展示,界面要簡潔直觀,方便非技術人員操作。
- 打磚塊游戲:創建一個簡單的打磚塊游戲,使用 HTML5、CSS3 和 JavaScript開發。游戲界面包含一個球、一個可移動的擋板和多層磚塊,球通過反彈擊中磚塊,每擊碎一個磚塊得分增加,當所有磚塊都被擊碎時游戲勝利。游戲要記錄分數、關卡和游戲時間,支持用戶選擇不同難度級別,界面風格卡通化,增加游戲的趣味性。
- 文件同步工具:開發一個文件同步工具,使用 Python 的 Paramiko庫實現與遠程服務器的文件傳輸和同步功能。工具可以自動檢測本地指定文件夾與遠程服務器特定目錄下的文件差異,實現雙向同步,確保本地和遠程文件的一致性。同步過程中要顯示進度條,方便用戶查看同步狀態,并且要支持加密傳輸,保證文件的安全性。
- 番茄鐘應用:創建一個番茄鐘應用,前端使用 React Native 開發,支持在安卓和 iOS 平臺運行。應用具備基本的計時功能,包括25 分鐘專注時間、5 分鐘短休息和 15分鐘長休息模式,用戶可以自定義計時時間。在計時期間,界面顯示倒計時和進度條,播放背景音樂幫助用戶集中注意力,用戶完成一定數量的番茄鐘后可以設置獎勵機制,界面設計要簡潔大方,操作方便。
實戰案例-端午包粽子小游戲
準備工作
這個包粽子游戲是從推箱子游戲演變而來,預期效果是小人將飯團推向粽子葉,然后變成粽子。然后設置不同難度的關卡,具體的玩法和推箱子一樣,只是所有元素替換為端午風格。
小游戲中的圖片和關卡,是Builder模式不能直接生成的,需要我們提前準備。我們先在項目文件下創建兩個文件夾,一個代表圖片,一個代表關卡。圖片和關卡可以在網上找公開免費的。如下圖所示。
pic文件是游戲中所用到的圖片,maps是關卡,所有關卡用map來保存。
實現小游戲
準備工作做好以后,可以在輸入框中用自然語言讓Builder來生成項目。自然語言描述如下:
使用JAVA語言創建一個推箱子小游戲;
游戲有50個關卡,每個關卡在maps文件夾中以map格式表示;
游戲中的圖片在pic文件夾,從0-9分別表示空白區域、墻壁、可通行區域、普通箱子、目標點、向下玩家、向左玩家、向右玩家、向上玩家、已推到目標點箱子。
界面設計
主窗口:包含菜單欄、操作按鈕、游戲信息標簽和游戲主面板。
菜單欄:提供“重新開始”“上一關”“下一關”“選關”“退出”“關于作者”等功能。
操作按鈕:提供“重玩”“上一關”“下一關”“選關”“第一關”“最終關”等功能。
游戲主面板:顯示游戲地圖和當前關卡信息。
生成的第一版代碼如下圖所示。
基本界面有了,但是地圖和關卡都沒有。此時需要審查一下代碼,發現他所有內容寫在了一個類,其中加載地圖部分代碼有問題。接下來有兩個方案可以選擇,第一是繼續提出需求進行迭代,第二是代碼全部拒絕重新優化自然語言進行提問。
下面提出新需求,進行迭代。新需求如下:
SokobanGame 主類,main 方法創建 MainFrame 實例。
MainFrame 繼承 JFrame 并實現 ActionListener,管理窗口、菜單、按鈕,處理事件。
MainPanel 繼承 JPanel 并實現 KeyListener,負責游戲繪制與操作處理。
MapReader 類讀取地圖文件。涵蓋關卡切換、玩家移動、通關判斷等功能。
運行結果如下:
使用體驗
使用 Trae 插件的 Builder 模式開發端午包粽子小游戲,整體上是一種新奇且高效的體驗。在項目初始化階段,僅用一段自然語言描述,就能快速搭建起游戲的基本框架,這在以往的開發實踐中是很難想象的。它極大地節省了搭建項目基礎架構的時間,讓我們能迅速看到一個可運行的雛形,為后續的功能細化和優化打下了良好基礎。
在功能迭代過程中,通過不斷提出新的自然語言需求,逐步完善了游戲的各個模塊。像對游戲主類、主面板、地圖讀取類等的細化需求,插件都能較好地理解并生成相應的代碼結構,這使得代碼的組織更加清晰合理,便于后續的開發和維護。
不過,在開發過程中也遇到了一些挑戰。比如,自然語言描述的精準度對生成結果有很大影響。有時描述不夠詳細或存在歧義,生成的代碼就需要較多的調整。另外,對于一些較為復雜的邏輯處理和特定的游戲算法優化,插件提供的代碼可能還需要我們開發者進一步深入完善。
總結
總體而言,Trae 插件 Builder 模式在代碼生成效率、游戲開發針對性支持、交互體驗和學習曲線等方面都有突出表現。相比國內外類似功能,它更專注于特定場景的項目開發,能更精準地滿足開發者的個性化需求,尤其適合中小項目和特定類型應用的快速搭建。然而,對于復雜大型項目的高度定制化開發,它還有提升空間,未來可進一步優化自然語言理解精度和復雜邏輯處理能力,以應對更廣泛和更具挑戰性的開發任務。
?