chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用deepin-IDE的AI能力實(shí)現(xiàn)文件加密擴(kuò)展

深度操作系統(tǒng) ? 來(lái)源:深度操作系統(tǒng) ? 2024-12-30 09:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

經(jīng)過(guò)多輪迭代,deepin 文件管理器(dde-file-manager)的擴(kuò)展功能已經(jīng)趨于穩(wěn)定,看到越來(lái)越豐富的文管新功能,作為一名技術(shù)愛好者,也想自己動(dòng)手寫個(gè)插件擴(kuò)展一下文管的功能。
我選擇的開發(fā)工具是 deepin-IDE,原因有兩個(gè):一是 deepin-IDE 本身集成了文管的插件模板,對(duì)研發(fā)者而言只需要通過(guò)引導(dǎo)創(chuàng)建模板代碼,然后在上面修修改改即可,不用再去閱讀大量的文管源碼;還有一個(gè)原因是 deepin-IDE 已經(jīng)支持了較多的 AI 能力,包括注釋添加、代碼翻譯、修復(fù)bug、解釋代碼、代碼審查、生成單元測(cè)試和生成提交信息,正好借此機(jī)會(huì)看看能帶來(lái)多少的效率提升。

首先說(shuō)下結(jié)論,有模板 + AI的助力,整個(gè)開發(fā)過(guò)程體驗(yàn)下來(lái)還是非常順暢,讓我僅用不到兩個(gè)小時(shí)的時(shí)間就把功能加上,接下來(lái)就分享給大家完整的開發(fā)過(guò)程。

Part 1 準(zhǔn)備工作

首先通過(guò)應(yīng)用商店,下載最新版本的 deepin-IDE :

6b7d61a8-c36c-11ef-9310-92fbcf53809c.png

啟動(dòng) deepin-IDE,首先看到的是最近訪問(wèn)頁(yè)面,點(diǎn)擊下圖中的按鈕,在彈出的引導(dǎo)界面選擇文管插件,隨后按照向?qū)б徊揭徊降耐瓿膳渲谩?br />

6ba052bc-c36c-11ef-9310-92fbcf53809c.png

引導(dǎo)完成后在工程樹可以看到插件模板的代碼結(jié)構(gòu):

6baa8002-c36c-11ef-9310-92fbcf53809c.png

在這個(gè)模板里面有說(shuō)明文檔,按照指引將工程配置一遍,在編譯后插件文件會(huì)自動(dòng)安裝到指定位置,文管檢測(cè)到插件變化,提示用戶進(jìn)行更新:

6bbfde48-c36c-11ef-9310-92fbcf53809c.png

為了測(cè)試插件是否安裝成功,打開文管并選中某個(gè)文件右鍵,已經(jīng)可以看到新增的右鍵菜單:

6bd68a94-c36c-11ef-9310-92fbcf53809c.png

這些右鍵菜單都是插件模板已經(jīng)實(shí)現(xiàn)的功能,我們要做的是修改這些代碼,在這個(gè)過(guò)程中就可以體驗(yàn) deepin-IDE 的 AI 輔助編程功能。
需要注意的是,如果想要體驗(yàn)完整的 AI 功能,還需要做一個(gè)準(zhǔn)備工作,就是登陸 AI 插件關(guān)聯(lián)的網(wǎng)站:在 IDE 界面的消息界面,會(huì)彈出 AI 插件登陸提示:

6be9a58e-c36c-11ef-9310-92fbcf53809c.png

點(diǎn)擊登陸按鈕,完成登陸后就可以使用全部的 AI 功能。到這里,所有的準(zhǔn)備工作就算完成。

Part 2 解釋功能

要新增加密功能,第一步應(yīng)該在文管中添加右鍵菜單。找到對(duì)應(yīng)的源文件,閱讀代碼并定位到如下的位置:

bool MyMenuPlugin::buildNormalMenu(DFMExtMenu *main, const std::string


¤tPath,


const std::string &focusPath, const


std::list&pathList,

bool onDesktop)

{

...

//通過(guò)代理創(chuàng)建 action,此 action 在堆區(qū)分配,不自行釋放將內(nèi)存泄露!

autorootAction{m_proxy->createAction()};rootAction->setText("角標(biāo)管理");

//通過(guò)代理創(chuàng)建 menu,此 menu 在堆區(qū)分配,不自行釋放將內(nèi)存泄露!

auto menu { m_proxy->createMenu() };

//?級(jí)菜單在Hover中創(chuàng)建,以減少一級(jí)菜單顯示的性能開銷

rootAction->setMenu(menu);rootAction->registerHovered([this, pathList](DFMExtAction *action) {

if(!action->menu()->actions().empty())return;autofavoriteEmblemAct{m_proxy->createAction()};favoriteEmblemAct->setText("角標(biāo)設(shè)置為favorite");favoriteEmblemAct->setIcon("emblem-favorite");favoriteEmblemAct->registerTriggered([this,pathList](DFMExtAction*,
bool) {

std::for_each(pathList.begin(), pathList.end(), [this](conststd::string &path) {setEmblemIcon(path, "emblem-favorite");

});

});

...
return true;

}

代碼注釋很詳細(xì),添加的方法也很簡(jiǎn)單,只需要自己創(chuàng)建一個(gè)菜單和 Action,通過(guò)接口注冊(cè)進(jìn)去就可以了。具體的邏輯是寫在 Action 的回調(diào)里面處理,用?觸發(fā)菜單時(shí)會(huì)自動(dòng)執(zhí)行。 以上對(duì)代碼的理解是基于個(gè)人的經(jīng)驗(yàn),在這種對(duì)代碼不是很熟悉的場(chǎng)景下,正好可以試試 AI 的解釋功能。 選中這段代碼,右鍵點(diǎn)擊解釋代碼選項(xiàng),得到如下的結(jié)果:

6bfb53ba-c36c-11ef-9310-92fbcf53809c.png

著重看紅色方框里面的內(nèi)容,其中功能描述部分還是比較準(zhǔn)確的,和個(gè)人的理解相近,除此之外 AI 還把函數(shù)的參數(shù)都解釋了一遍,這比自己閱讀代碼得到的信息更多。 不過(guò)這個(gè)功能還是存在槽點(diǎn),后面羅列出來(lái)的具體步驟還是有些繁雜,不如“show me the code”來(lái)的更加直接。 但換個(gè)場(chǎng)景想想,假設(shè)我正在翻看其它語(yǔ)言的代碼,或者涉及到算法、shader 代碼,解釋功能的優(yōu)勢(shì)就體現(xiàn)出來(lái)了,就像文言文里面的白話注釋,可以不用,但不能沒有。 所以啊,在當(dāng)前 AI 功能眼花繚亂的背景下,只有在合適的場(chǎng)景、合適的需求下去使用,才會(huì)得到事半功倍的效果。

Part 3 智能問(wèn)答

理解到代碼的大概意思,接下來(lái)就是手搓代碼的過(guò)程。 第一步將模板中已有的代碼進(jìn)行修改,比如去掉多余的Action,修改菜單名字等,讓其符合我的最終需求,效果如下:

6c18e862-c36c-11ef-9310-92fbcf53809c.png

有了界面,接下來(lái)就是添加加密和解密的邏輯。 對(duì)于不怎么使用加密工具的研發(fā)者來(lái)說(shuō),并不知道使用什么加密工具以及如何什么樣的參數(shù)。在這個(gè)場(chǎng)景下,相信大部分的小伙伴已經(jīng)不假思索的打開 ChatGPT 進(jìn)行問(wèn)答操作了。 不過(guò)這次是在 deepin-IDE 里面,我直接展開 deepin-IDE 左側(cè)的問(wèn)答界面6c34115a-c36c-11ef-9310-92fbcf53809c.png進(jìn)行查詢,在進(jìn)?了多番連續(xù)的問(wèn)答后得到如下答案: ?

6c3bc6e8-c36c-11ef-9310-92fbcf53809c.png

Part 4 代碼補(bǔ)全

為了把加解密功能加進(jìn)去,我在對(duì)應(yīng)的類中添加了兩個(gè)函數(shù),分別用于加密和解密,然后開始輸入代碼,在敲完函數(shù)體回車后,就得到 deepin-IDE 的代碼補(bǔ)全提示:

6c58707c-c36c-11ef-9310-92fbcf53809c.png

敲擊快捷鍵 Ctrl+T 填入對(duì)應(yīng)的代碼,隨后再次利用這個(gè)功能,便快速得到完整的函數(shù)代碼:

6c6e2890-c36c-11ef-9310-92fbcf53809c.png

以同樣的方法,我把代碼解密的函數(shù)代碼也補(bǔ)充完成。 體驗(yàn)下來(lái),補(bǔ)全的代碼解決了我大約 90% 的工作量,不過(guò)并沒有完全符合功能需求,原來(lái)的文件還遺留在本地。 我在靠后的位置先寫上注釋,說(shuō)明需要?jiǎng)h除原來(lái)的文件,隨后輕點(diǎn)回車,不待我反應(yīng)過(guò)來(lái),補(bǔ)全內(nèi)容已經(jīng)直接呈現(xiàn):

6c8f9340-c36c-11ef-9310-92fbcf53809c.png

為了保持和之前一樣的優(yōu)雅,我愉快的按下了 Ctrl + T 快捷鍵。隨后多次、重復(fù)的使用 AI 代碼補(bǔ)全功能,將剩余的函數(shù)一一實(shí)現(xiàn)。 最后編譯整個(gè)工程,然后隨便找了個(gè)“README.md”文件試了試成果。這是文件里面原來(lái)的內(nèi)容:

6cbaf756-c36c-11ef-9310-92fbcf53809c.png

接下來(lái)進(jìn)行加密操作: 1、右鍵該文件,選擇加密選項(xiàng)。 2、在當(dāng)前目錄隨即出現(xiàn)了一個(gè)新文件,名字后面加上了“encrypted”后綴,之前的文件也被刪除。 3、打開該文件,可以看到里面的內(nèi)容已經(jīng)被加密,無(wú)法正常閱讀。

6cd2d6d2-c36c-11ef-9310-92fbcf53809c.png

如果仔細(xì)觀察,還會(huì)發(fā)現(xiàn)文件圖標(biāo)的左下角多了一個(gè)愛心圖標(biāo),表示這是一個(gè)加密文件。解密也是同樣的操作,它會(huì)把文件名恢復(fù)為原來(lái)的名字,左下角的加密圖標(biāo)也會(huì)消失。

Part 5 單元測(cè)試

功能是完成了,但為了保證代碼質(zhì)量,單元測(cè)試也是不可缺少的一環(huán)。 在 deepin-IDE 里面也提供了這個(gè)功能,選中一段代碼,讓 AI 生成測(cè)試內(nèi)容,看看效果如何:

6cf75b24-c36c-11ef-9310-92fbcf53809c.png

這個(gè)工程沒有使用任何測(cè)試框架,但 AI 還是把測(cè)試用例的大體結(jié)構(gòu)搭建好了,和大多數(shù) AI 輔助功能一樣,還是需要自己動(dòng)手修改。不過(guò)粗略估計(jì),該功能大致可以節(jié)省 50% 左右的工作量。

Part 6 準(zhǔn)備工作

為了完成開發(fā)閉環(huán),接下來(lái)就需要把代碼提交到倉(cāng)庫(kù)。 在常規(guī)的提交方式下,我們會(huì)根據(jù)經(jīng)驗(yàn)總結(jié)修改的內(nèi)容,形成提交信息。 在 deepin-IDE 里面,可以直接根據(jù)修改內(nèi)容生成提交信息,甚至把總結(jié)的依據(jù)也羅列出來(lái)。右鍵點(diǎn)擊 CodeGeeX > 生成git commits,如下圖所示:

6d1f8e32-c36c-11ef-9310-92fbcf53809c.png

隨后在智能問(wèn)答界面,會(huì)輸出提交信息和提交依據(jù):

6d2a5e5c-c36c-11ef-9310-92fbcf53809c.png

最后一句的總結(jié)可以說(shuō)非常的準(zhǔn)確,同時(shí)也節(jié)省了不少思考時(shí)間。

Part 7 審查代碼

當(dāng)然,如果害怕提交的 PR 被其他人暴力 Review,自己可以在本地進(jìn)行預(yù)先審查。 具體可以通過(guò) deepin-IDE自帶的代碼審查功能,方法還是通過(guò)選中代碼和右鍵菜單觸發(fā),得到如下結(jié)果:

6d2a5e5c-c36c-11ef-9310-92fbcf53809c.png

這里我選取的是加密函數(shù)的代碼,總計(jì)有僅有12行,但 AI 功能給出的代碼審查建議竟然多達(dá)10條之多,我一度懷疑自己的編碼質(zhì)量怎會(huì)降到如此程度,不過(guò)細(xì)細(xì)看來(lái),AI 還是審查得過(guò)于嚴(yán)苛了。 建議研發(fā)人員將其作為參考信息,提取有用部分進(jìn)行自查即可。

Part 8 總結(jié)

deepin-IDE 中的 AI 能力在持續(xù)不斷的完善。而在本次的使用過(guò)程中,也用到了 deepin-IDE 提供的插件模板功能,較為明顯的降低了從頭開始寫文管插件的難度,隨著后面各類系統(tǒng)工具的集成,deepin-IDE 在開發(fā)效率上的提升也會(huì)越來(lái)越明顯。
最后,十分感謝社區(qū)用戶Mozart的投稿,也歡迎大家踴躍投稿,分享你的新發(fā)現(xiàn)和新玩法。
GitHub:https://github.com/linuxdeepin/deepin-unioncode 官方網(wǎng)站:https://ide.deepin.org/zh

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    37050

    瀏覽量

    290116
  • 文件加密
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    6178

原文標(biāo)題:利用 deepin-IDE 的 AI 能力,我實(shí)現(xiàn)了文件加密擴(kuò)展

文章出處:【微信號(hào):linux_deepin,微信公眾號(hào):深度操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    deepin IDE入選Gitee最有價(jià)值開源項(xiàng)目

    近日,deepin IDE 成功入選 Gitee 最有價(jià)值開源項(xiàng)目(GVP)!
    的頭像 發(fā)表于 10-14 18:10 ?824次閱讀

    【「AI芯片:科技探索與AGI愿景」閱讀體驗(yàn)】+AI芯片到AGI芯片

    和探索;人類級(jí)別的理解能力;常識(shí)推理;現(xiàn)實(shí)世界的知識(shí)整合。 3、測(cè)試時(shí)計(jì)算 測(cè)試時(shí)計(jì)算(TTC)是指在模型推理階段利用額外的計(jì)算資源來(lái)提升泛化性能。 4、具身智能與滲透式AI 1)具身智能對(duì)AGI的意義
    發(fā)表于 09-18 15:31

    基于FPGA利用sm4進(jìn)行實(shí)時(shí)圖像加密

    求一份在fpga上利用sm4進(jìn)行實(shí)時(shí)圖像加密文件
    發(fā)表于 09-15 19:05

    深度操作系統(tǒng)deepin 25全面支持凹語(yǔ)言

    近日,deepin(深度)社區(qū)宣布,deepin 25 現(xiàn)已完成對(duì)國(guó)產(chǎn)通用編程語(yǔ)言凹語(yǔ)言 (Wa-Lang) 的兼容性測(cè)試。在 deepin 25 默認(rèn)安裝環(huán)境下,即可直接使用凹語(yǔ)言進(jìn)行程序的編譯、運(yùn)行與測(cè)試,無(wú)需額外復(fù)雜配置。
    的頭像 發(fā)表于 07-10 15:26 ?648次閱讀
    深度操作系統(tǒng)<b class='flag-5'>deepin</b> 25全面支持凹語(yǔ)言

    基于SM4的文件加密解密功能實(shí)現(xiàn)(ECB模式)

    ? ##HarmonyOS 應(yīng)用開發(fā)## 先上一下效果 前置準(zhǔn)備:有一個(gè)演示.txt文件,我提前下載到了手機(jī)上,里面的內(nèi)容是“測(cè)試內(nèi)容,今天天氣很好”。 進(jìn)入“文件加密”頁(yè)面,選擇文件
    發(fā)表于 06-29 13:21

    百度文心快碼推出AI原生開發(fā)環(huán)境工具Comate AI IDE

    6月23日?qǐng)D靈誕辰日,Comate AI IDE正式發(fā)布,成為行業(yè)首個(gè)多模態(tài)、多智能體協(xié)同的獨(dú)立AI原生開發(fā)環(huán)境工具。
    的頭像 發(fā)表于 06-27 11:30 ?845次閱讀

    IDE中運(yùn)行固件內(nèi)自帶的AI程序,約2分鐘左右就死機(jī)了,為什么?

    1、在IDE中運(yùn)行固件內(nèi)自帶的AI程序,約2分鐘左右就死機(jī),點(diǎn)擊停止報(bào) 繁忙,點(diǎn)連接也報(bào) 忙碌中。從資源管理器中點(diǎn)擊CanMV可以訪問(wèn)下一級(jí)文件夾。 2、過(guò)幾分鐘后在IDE中點(diǎn)擊“連接
    發(fā)表于 06-06 07:28

    deepin 25系統(tǒng)安裝常見問(wèn)題

    隨著 deepin 25 系列版本的發(fā)布,我們特別推出 deepin Q&A 常見問(wèn)題指南,旨在幫助您輕松應(yīng)對(duì)安裝、升級(jí)及使用過(guò)程中可能遇到的常見問(wèn)題。
    的頭像 發(fā)表于 04-14 14:08 ?3537次閱讀
    <b class='flag-5'>deepin</b> 25系統(tǒng)安裝常見問(wèn)題

    請(qǐng)問(wèn)怎樣隱藏U盤加密工程文件???OpenMV很輕松就可以實(shí)現(xiàn)?

    怎樣隱藏U盤加密工程文件???OpenMV很輕松就可以實(shí)現(xiàn)?
    發(fā)表于 03-11 08:26

    當(dāng)我問(wèn)DeepSeek AI爆發(fā)時(shí)代的FPGA是否重要?答案是......

    AI時(shí)代,F(xiàn)PGA(現(xiàn)場(chǎng)可編程門陣列)具有極其重要的地位,主要體現(xiàn)在以下幾個(gè)方面: 1.硬件加速與高效能 ? 并行處理能力:FPGA內(nèi)部由大量可編程邏輯單元組成,能夠實(shí)現(xiàn)高度并行的數(shù)據(jù)處理。這種
    發(fā)表于 02-19 13:55

    測(cè)試時(shí)擴(kuò)展技術(shù)如何實(shí)現(xiàn)AI推理

    擴(kuò)展定律描述了 AI 系統(tǒng)性能如何隨訓(xùn)練數(shù)據(jù)、模型參數(shù)或計(jì)算資源規(guī)模的增加而提高。
    的頭像 發(fā)表于 02-15 14:06 ?1113次閱讀

    deepin 23+樹莓派讓小車動(dòng)起來(lái)

    deepin 23 +樹莓派還有啥新玩法? ? ? 前言 繼我們之前發(fā)布的樹莓派運(yùn)行 deepin 23 系統(tǒng)教程后,此次我們將深入探索如何借助樹莓派實(shí)現(xiàn)與硬件的交互,進(jìn)而精準(zhǔn)控制小車的運(yùn)行
    的頭像 發(fā)表于 02-12 09:12 ?1146次閱讀
    <b class='flag-5'>deepin</b> 23+樹莓派讓小車動(dòng)起來(lái)

    deepin UOS AI接入DeepSeek-R1模型

    DeepSeek-R1 模型自發(fā)布以來(lái)吸引了眾多用戶關(guān)注,為了讓 deepin 用戶更好地體驗(yàn)這一前沿技術(shù),UOS AI 現(xiàn)已適配接入 DeepSeek-R1 端側(cè)模型!無(wú)需忍受服務(wù)器崩潰,兩步即可在本地獨(dú)享 DeepSeek-R1 模型帶來(lái)的震撼體驗(yàn)。
    的頭像 發(fā)表于 02-08 09:52 ?1868次閱讀

    deepin操作系統(tǒng)介紹

    希望從自己的能力和對(duì)桌面操作系統(tǒng)的理解,能給 Linux 的用戶與開發(fā)者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認(rèn)可與喜愛,成為開源世界的最佳選擇。? 一、 deepin 操作系統(tǒng) 先說(shuō) Linux 操作系統(tǒng),它
    的頭像 發(fā)表于 12-23 09:08 ?2903次閱讀
    <b class='flag-5'>deepin</b>操作系統(tǒng)介紹

    deepin文件管理器問(wèn)題解答

    deepin 文件管理器憑借其獨(dú)特的設(shè)計(jì)贏得了用戶的青睞,盡管如此,它在用戶體驗(yàn)方面仍有改進(jìn)的空間。因此,我們策劃了這次文字采訪,旨在深入探究其設(shè)計(jì)理念、用戶面臨的問(wèn)題以及未來(lái)的發(fā)展規(guī)劃。我們期望通過(guò)這次交流,為用戶傳遞有價(jià)值的信息,并為產(chǎn)品團(tuán)隊(duì)提供一個(gè)展示和溝通的平臺(tái)。
    的頭像 發(fā)表于 12-05 14:32 ?740次閱讀