我們是誰
我們來自阿里云云效代碼團隊,為了尋找更舒服的開(更)發(早)體(下)驗(班),為Java程式員打造出 阿里云智能編碼插件,aka Alibaba Cloud AI Coding Assistant(小名 Cosy),

(目前已經上架 IntelliJ IDEA 插件市場 ?? )
Cosy集合了代碼補全和代碼搜索兩大開發輔助功能,不僅能通過深度學習模型和程式分析技術,精準智能地幫助我們減少 擊劍?? 擊鍵次數,還能基于海量代碼片段和社區問答資料,讓我們可以哪里不會搜哪里,沉浸在IDE內快樂開發,
今天帶大家感受致力于打造沉浸式開發體驗的代碼示例搜索功能~
更舒服的開發姿勢

大家想象中開發者的作業狀態應該是碼字如飛形如流水一氣呵成,但實際卻往往是左手百度谷歌,右手Stack Overflow,在IDE和瀏覽器間來回橫跳(??,坦白說,我們之前也是這樣~
我們開發程序中經常寫著寫著就會用到一些并不是那么熟悉的介面,或者是要實作一些不那么常用的功能,很難徒手全文默寫一步到位,每天對著瀏覽器的時間比IDE視窗還要久,仔細想想這個程序效率還挺低的,不僅不同的參考資訊要用不同的方式搜索不同的網站,還要篩選掉大量無效低質的資訊,一不小心瀏覽器視窗就層層疊疊Tab串列就密密麻麻了,
為了讓這個程序更簡單更酷炫,我們除了代碼智能補全,也在Cosy中精心打造了代碼示例搜索功能,讓我們和“在IDE和瀏覽器之間反復橫跳”的日子說拜拜 ??
1. 多API精準搜索:這個介面怎么用來著
名字聽起來很酷炫,實際上就是:我明確記得我要用的方法是什么,但是不記得具體的使用方式,比如入參出參、例外處理等,
這個時候我們就可以直接把游標落在我們要查看參考示例的類或方法上,即可通過快捷鍵一鍵呼出海量參考示例片段(還支持快捷鍵觸發和滑鼠右鍵選單欄選擇哦),

?? 比如,我正在行云流水地快樂編碼,突然想從本地讀取組態檔,只記得可以用FileInputStream 但忘了上下流處理的具體寫法,我可以先打出 FileInputStream 然后直接一個快捷鍵,一秒彈出大量使用到FileInputStream的開源優質示例,我就可以直接對照著完成剩下的代碼邏輯啦,

除此以外,API精準搜索還支持多API同時使用的場景,比如我不僅需要使用FileInputStream還需要同時用到BufferedReader的參考片段,我可以將BufferedReader加入到我的搜索條件,查看更為確切的搜索結果,
2. 自然語言搜索:這個功能怎么實作來著?
第二種姿勢是自然語言搜索,我們在明確知道我們要做什么,但不知道要如何實作時,我們可以通過描述我們的意圖進行搜索,

?? 在我們描述程序中,Cosy也會自動聯想我們的查詢陳述句,

除了GitHub開源代碼片段以外,我們還收錄了海量優質的StackOverflow社區問答資料,通過代碼片段語意分析和背景關系描述,我們支持對代碼片段的自然語言描述性搜索,
3. 組合技:小孩子才做選擇,我全都要!
最后一種場景是我們的組合技,當我們明確我們要做的事情,比如說我們想要讀取Excel,但是我們還想用第三方組件庫EasyExcel實作這件事情,那你我們可以將EasyExcel這個精準API搜索條件到功能描述的后面,像下面這個樣子:

更友好的中文支持

或許你會問:可是中文才是我的本命,英文描述不清楚我的問題該怎么辦?
不 用 擔 心 !
我們貼心地對自然語言搜索進行了更好的本土化支持~ 不但可以補全聯想中文搜索陳述句,還能使用中文搜索中英文代碼片段~
再也不用在海量資訊中苦苦篩選,IDE內快速驗證可用,哪里不會查哪里,老板再也不用擔心我的進度( *`ω′)
下期預告
我們不忘初心,為了尋找最舒服的開發體驗(最早下班!)在搗鼓出來代碼示例片段搜索功能之后,我們進一步想做社區問答和社區檔案搜索,
想象一下,我本地除錯堆疊例外了,直接框選錯誤提示,一鍵搜索相關解決討論,直接在IDE內解決問題!
是不是很酷炫,是不是很想用 ~
?? 這個月0.9.8-beta版本即將上線新功能,各位Java開發同學們,我們不見不散!
關于我們
了解更多關于云效DevOps最新動態,可微信搜索并關注【云效】公眾號;
福利:公眾號后臺回復【指南】,可獲得《阿里巴巴DevOps實踐指南》&《10倍研發效能提升案例集》;
看完覺得對您有所幫助別忘記點贊、收藏和關注呦;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/435338.html
標籤:Java
