探秘鴻蒙 HarmonyOS NEXT:一起了解鴻蒙的 AI 編程助手——CodeGenie!

今天咱們來聊一聊華為鴻蒙推出的一個特別實用的開發(fā)輔助神器——CodeGenie 。說白了,它是一個內(nèi)置在 DevEco Studio 里的AI 編程助手,主要就是為了幫助開發(fā)者更輕松地寫代碼、查資料、改 Bug、提高開發(fā)效率!


CodeGenie 是干嘛的?

CodeGenie 的定位很清晰:讓寫代碼變得更快、更簡單、更智能。它依托華為自研的 AI 大模型,結(jié)合鴻蒙生態(tài)和 DevEco Studio,能做到很多傳統(tǒng) IDE 做不到的事。

它懂自然語言,能看得懂你的需求,也能理解上下文代碼邏輯,然后“自動幫你生成代碼、解釋代碼、查文檔,甚至還幫你找 Bug”。

你說它像 ChatGPT?有點像,但它是專門為鴻蒙開發(fā)量身打造的本地智能編程助手,因為它支持ArkTS代碼生成,理解鴻蒙 API 更精準(zhǔn),也更貼近實際開發(fā)場景。


CodeGenie 有哪些功能?

說實話,它的功能還挺多,下面我給大家分幾個重點說說:

1. 自然語言生成代碼

這個真的超方便,比如你在聊天框輸入一句:

“幫我生成一個可以長按拖動排序的 Grid 組件頁面”

CodeGenie 會直接把代碼給你生成出來,結(jié)構(gòu)也清晰,甚至有注釋,能直接拿去用,效率提升特別明顯。而且使用的語言本身就是鴻蒙的開發(fā)語言ArkTS,真的很方便!

2. 智能代碼補(bǔ)全

這個不是普通的關(guān)鍵詞匹配,而是基于上下文的補(bǔ)全,比如你寫到一半,它能根據(jù)你寫的邏輯猜出你下一步想做啥,還能推薦 API 或組件,減少你手動查資料的時間。

3. 代碼解釋 + 中文注釋

有時候你看項目老代碼、或者團(tuán)隊同事寫的復(fù)雜邏輯,讀起來真費勁。選中那段代碼,右鍵讓 CodeGenie 給你解釋一下、加點注釋,立馬就明白意思了,省心!

4. Bug 檢查 + 修復(fù)建議

這個真的很實用,特別適合剛?cè)腴T的朋友。寫代碼時,有些問題你可能沒注意,它能幫你識別潛在錯誤,比如空指針、異常分支、性能問題,還能告訴你怎么改。

比如:

“這個異步方法沒處理失敗回調(diào),可能會卡界面?!?/p>

然后它給你建議怎么加 catch、怎么優(yōu)化結(jié)構(gòu),特別貼心。

5. 自動生成測試代碼

寫完功能后,你讓它幫你生成單元測試代碼,它也能自動補(bǔ)出合理的測試場景,省去你一點點寫測試邏輯的麻煩。

6. 一鍵查 API 文檔 + 示例

你寫 ArkTS 時,想用一個組件比如 ListItem,但記不清它的參數(shù)和用法了?用 CodeGenie 直接問:

“ListItem 怎么設(shè)置圖標(biāo)和副標(biāo)題?”

它會直接給你 API 說明 + 示例代碼,節(jié)省你跳轉(zhuǎn)瀏覽器找文檔的時間。


怎么用 CodeGenie?

想用 CodeGenie 很簡單,只要你裝的是最新版的 DevEco Studio,目前我使用的版本是DevEco Studio 5.0.4 Release 就自帶了 CodeGenie 插件。

下面是幾個常用入口:

開啟方式:

  • 打開 DevEco Studio。
image.png
  • 登錄華為賬號。
image.png
  • 如果沒有默認(rèn)打開 CodeGenie,去設(shè)置里找“插件”,手動啟用一下它。
image.png

使用方式:

  • 對話窗口模式:點擊工具欄上的 CodeGenie 圖標(biāo),打開聊天窗口,像聊天一樣輸入你的需求。
image.png
  • 右鍵菜單:選中一段代碼,右鍵點“用 CodeGenie 優(yōu)化 / 注釋 / 生成測試”等。
image.png
  • 快捷鍵觸發(fā):可以自己設(shè)定快捷鍵,快速彈出對話窗口。

CodeGenie常用快捷鍵如下:

操作 macOS Windows
觸發(fā)多行代碼生成 Enter、Option+C Enter、Alt+C
觸發(fā)單行代碼生成 Option+X Alt+X
采納生成的代碼 Tab Tab
忽略生成的代碼 Esc Esc
查看上一個代碼生成結(jié)果 Option +[ Alt + [
查看下一個代碼生成結(jié)果 Option + ] Alt + ]
重新生成代碼內(nèi)容(最多支持重新生成5次) Option + R Alt + R
展示CodeGenie面板 Option + U Alt + U

代碼示例

例如,我們可以問“請幫我用 ArkTS 創(chuàng)建一個完整的登錄頁面demo,包含手機(jī)號輸入、密碼輸入、忘記密碼入口、登錄按鈕、同意隱私協(xié)議等功能。”

之后CodeGenie會幫我們把提問進(jìn)行潤色,“創(chuàng)建一個完整的登錄頁面demo涉及多個組件和功能,以下是一個基本的示例,包含了手機(jī)號輸入、密碼輸入、忘記密碼入口和登錄按鈕。這個示例使用了HarmonyOS的ArkTS語言編寫。”

最后就是代碼輸出了,真的很棒! 代碼如下:

javascriptimport { router, window } from '@kit.ArkUI';

@Entry
@Component
struct LoginDemo {
    @State phoneNumber: string = '';
    @State password: string = '';
    @State showForgetPassword: boolean = false;

    onLoginClick(): void {
        // 登錄邏輯處理
        console.info('Login clicked');
    }

    onForgetPasswordClick(): void {
        // 忘記密碼邏輯處理
        console.info('Forget password clicked');
    }

    build() {
        Row() {
            Column() {
                Text('登錄頁面')
                .fontSize(30).fontWeight(FontWeight.Bold)
                .marginBottom(20)

                TextInput()
                .placeholder('請輸入手機(jī)號')
                .value(this.phoneNumber)
                .onInput((event) => this.phoneNumber = event.target.value)
                .marginBottom(20)

                TextInput()
                .placeholder('請輸入密碼')
                .type('password')
                .value(this.password)
                .onInput((event) => this.password = event.target.value)
                .marginBottom(20)

                Text('忘記密碼?')
                .fontSize(14).textAlign('right')
                .onClick(() => this.showForgetPassword = true)
                .marginBottom(20)

                Button('登錄')
                .onClick(() => this.onLoginClick())
                .marginBottom(20)

                if (this.showForgetPassword) {
                    Text('重置密碼頁面')
                    // 忘記密碼后的界面元素
                }
            }
            .width('100%')
        }
        .height('100%')
    }
}

適合誰用?

說實話,無論你是新手還是老司機(jī),CodeGenie 都挺值得一試的:

  • 新手可以用它來“教學(xué) + 輔助”,寫出高質(zhì)量代碼。
  • 老手則能省下大量查文檔、寫模板代碼的時間,專注業(yè)務(wù)邏輯和架構(gòu)設(shè)計。
  • 團(tuán)隊開發(fā)時,統(tǒng)一生成注釋、提升代碼質(zhì)量,也能節(jié)省溝通成本。

總結(jié)

如果你還沒試過,強(qiáng)烈建議現(xiàn)在就打開 DevEco Studio,點一下那個“小精靈”,體驗一下 AI 幫你寫代碼的爽感。
下一篇我會使用CodeGenie教大家實際操作一下,希望能夠幫到你!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容