itten Code作為一款優秀的GPT驅動代碼生成與完成工具,支持多樣化的編程語言,如Python、JavaScript、TypeScript及Java等。其主要特性在于能夠自動添加缺失的代碼部分,有效縮短開發人員的工作時間。同時,該工具能夠實現代碼間語義級別的翻譯,提供跨編程語言的互譯服務。Fitten Code亦可根據代碼內容自動生成注釋,提供明確的說明及文檔。另外,其整合了智能bug查找、代碼解析、自動生成單元測試及根據代碼自動生成測試用例等強大功能。
立即訪問Fitten Code官方網站開啟使用之旅
https://code.fittentech.com/
哪些人群可能從Fitten Code中獲得益處?
Fitten Code立足于那些致力于提升編程效率,降低失誤率以及快速生成代碼片段的程序員用戶群體。無論是快速構建項目框架、規劃函數結構還是進行接口調用,Fitten Code均能提供有效助力。
Fitten Code的應用場景
Python項目:運用Fitten Code實現自動化代碼生成操作。
JavaScript項目:借助Fitten Code實現代碼自動補全。
Java項目:采用Fitten Code實現智能bug精確查找。
Fitten Code的產品優勢
代碼自動補全:顯著提升開發人員編碼效率,提高工作速度。
注釋生成代碼:針對代碼內容自動生成精準、詳實的注釋。
智能bug查找:快速找準 bug 問題所在,提供改進策略以縮短調試時間。
代碼解析:對于晦澀難懂的代碼區域提供易于理解的說明,協助理解及維護。
自動生成單元測試:保障代碼質量,增強軟件的穩定性。
根據代碼自動生成測試用例:簡化測試流程,保證代碼性能穩定。
如何運用Fitten Code
若您想嘗試使用Fitten Code,只需訪問其官方網站,依照項目需求選取對應的編程語言即可。輸入您的代碼后,Fitten Code將自動生成完整或注釋類代碼,并借助智能bug查找功能助您迅速發現問題并給出解決辦法。為了更加深入理解并充分發揮Fitten Code的功能,敬請訪問官方網站獲取更多詳細資訊。
者 | James Vincent等
編譯 | 夕顏
出品 | AI科技大本營(ID:rgznai100)
【CSDN 編者按】在過去的一年中,AI 生成書面文字的能力大大提高。通過掃描龐大的文本數據集,機器學習軟件可以生成從短篇小說到歌詞的各種令人信服的樣本。現在,一個名為 Deep TabNine 的新程序,可以將相同的技術應用于編碼世界。這個程序一經F推出便好評如潮,大有搶了程序員飯碗的架勢。這個程序是否真有這么好用?我們來一探究竟。
什么是Deep TabNine?
據外媒 The Verge 報道,Deep TabNine 是由滑鐵盧大學的計算機科學本科生 Jacob Jackson 創建的編碼自動完成器,程序員可以將它作為附件安裝在他們選擇的編輯器中,程序員寫代碼時,這個程序會給出下一行代碼建議,每次提供一小段代碼。你可以將它理解為 Gmail 的智能撰寫功能用到了代碼上。
據悉,Jacob 于 2018 年 2 月開始研究該軟件的原始版本,在 11 月發布之前它叫做 TabNine。本月早些時候,他發布了一個更新版本,該版本使用由研究實驗室 OpenAI 設計的深度學習文本生成算法模型 GPT-2 來改善能力。該模型使用 Transformer 架構,旨在解決自然語言處理中的問題,Deep TabNine 用這個架構來理解代碼中的英語。例如,模型可以使用 if / else 語句來進行否定。在訓練時,模型的目標是根據前面給定的 token 來預測下一個 token。
Deep TabNine 使用 GitHub 的近 200 萬個文件進行了訓練,它具有預先存在的知識,而不是僅僅從用戶當前的項目中學習。此外,這個模型還引用以自然語言編寫的文檔來推斷函數名稱、參數和返回類型。它還能利用傳統工具難以發現的小線索。例如,它可以理解 app.get_user 的返回類型被假定為具有設置器方法的對象,且 app.get_users的返回類型被假定為列表。
Jacob 表示,這種軟件雖然并不新鮮事物,但機器學習已經大大地改善了它的功能。“這對我來說是解決了一個問題。”
Deep TabNine 的更新版本讓程序員們留下了深刻印象,他們在 Twitter 上稱這個軟件“驚人”、“讓人瘋狂”和“絕對令人興奮”。
用戶 Franck Nijhof 是一位在閑暇時間從事開源家庭自動化軟件工作的 IT 經理,他對 Deep TabNine 不僅感到驚訝 ,還覺得既興奮又害怕。“我使用 Deep TabNine 的第一個小時內沒有作用,因為我不停地被它驚訝到,腦子里一直不停地問它到底是怎么知道的?怎么做到的?” Nijhof 通過電子郵件告訴 The Verge。
這樣的自動完成工具之前就有過,但 Nijhof 表示 Deep TabNine 的建議更準確。“我過去曾嘗試過一些'通用'的智能編寫程序,但它們很煩人而且沒有幫助,”他說道,“TabNine 無疑是一個改變游戲規則的存在。”
特斯拉人工智能總監 Andrej Karpathy 也對這個程序贊不絕口:
深度學習自動編碼 https://t.co/WenacHVj7z 非常酷!很久以前我在做 char-rnn(字符級循環神經網絡)時嘗試過相關的想法,但當時它并不是很有用。隨著新工具(GPT-2)的出現和更多的關注,它將會發揮更大的作用。
- Andrej Karpathy(@karpathy),2019年7月18日
Jackson 表示,該軟件之所以可以提供更好的建議,是因為它可以進行預測。大多數自動填充程序必須解析用戶已編寫的內容來提出建議,就像人使用數學公式中的步驟一樣理順代碼。相比之下,Deep TabNine 依賴于機器學習的能力來查找數據中的統計模式以進行預測。
與文本生成算法在大量書籍、文章和電影腳本數據集上進行訓練的方式相同,Deep TabNine 對來自編碼庫 GitHub 的 200 萬個文件進行了訓練。它在這些數據中找到模式,并用其在任意給定代碼行中可能出現的內容給出建議,無論是變量名還是函數。
Jackson 說,使用深度學習創建自動編碼軟件有幾個優點。首先,它可以輕松添加對新語言的支持。只需要將更多的訓練數據放入 Deep TabNine 中,它就會挖出模式。這意味著,Deep TabNine 支持大約 22 種不同的編碼語言,而大多數同類型產品只支持一種。
Deep TabNine 支持的編碼語言完整列表如下:
Python、JavaScript、Java、C ++、C、PHP、Go、C#、Ruby、Objective-C、Rust、Swift、TypeScript、Haskell、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS、Bash。
最重要的是,由于深度學習的分析能力,Deep TabNine 提出的建議整體上具有很高的質量。而且,因為軟件不會查看用戶自己寫的代碼來提出建議,所以它可以從編碼的那一刻開始就起作用,而不用等著從用戶編寫的代碼中尋找蛛絲馬跡。
當然,這個軟件也并非完美。它在提出建議時會出錯,另外,它也不是對所有類型的編碼都有用。Hacker News 和 r / program subreddit 的用戶已經找到了它的各種優點和編程漏洞(但大多數傾向于正面評論)。
用戶1:免費版本 200 KB 的限制對于實際代碼庫來說太低了,有考慮過提高限制嗎?
Jacob Jackson 回復:可以試下付費版 30 天返款。所有版本的 TabNine 仍然適用于大于索引限制的項目。索引中將添加和刪除文件,以確保索引文件與用戶正在編輯的文件盡可能相關。
用戶2:可以用,但不是很好用。對于你最喜歡的編輯器不支持或沒有插件的語言來說,這是一個非常酷的技術,但是如果編輯器已經對語言有很好的支持(比如 VSCode for Typescript),它可能不會比連接自動完成的編輯器更好用。
用戶3:添加 IntelliJ Idea 支持,我會買它:)
用戶 4:支持 Emacs 后,我會買!
對于這個為程序員構建的編碼工具的編輯器和工作流程精確度,大家也有很多看法。
Jackson 也坦承了 Deep TabNine 的一些缺點,如它更適合某些類型的編碼。它在自動完成相對死記硬背的代碼時效果最好,這種編程已經被做過數千次,只有很小的變化。但是,它并不擅長用戶用于解決新問題的探索性代碼。考慮到軟件的智能來自數據中的模式,這并不奇怪。
那么,它對于普通程序員真的有用嗎?這取決于很多因素,比如他們使用的編程語言,他們想要實現的目標等。但 Jackson 表示,與其說是一個人類編碼助手,它更像是一種更快的輸入法(一種常見的被稱為結對編程的做法)。
“想象一下,現在所有的程序員都在使用相當于手機的鍵盤打字,而使用 Deep TabNine 有點像轉而去使用常規鍵盤,”他說道。這款軟件可以提高用戶輸入信息的速度,并且可以提高工作效率,“因為你可以花更多時間考慮內容而不是細節。”但它不會按照你的方式編寫代碼,而你也確實需要要密切關注它的動向。
雖然集成深度學習模型具有多種優勢,但使用它需要大量的算力。Jackson 明確提到,在筆記本電腦上運行無法實現 TabNine 用戶習慣的低延遲。對此,他們提供了一種解決方案——TabNine Cloud(Beta)服務,該服務將使用戶能夠使用 TabNine 的服務器進行 GPU 加速自動完成。訪問 TabNine Cloud,可以在此處免費注冊:https://tabnine.com/beta_signup
但是,有許多人更愿意將代碼保存在他們的機器上。為了確保代碼的隱私性和安全性,TabNine 團隊正在研究以下用例:
他們承諾在未來推出尺寸減小的模型,個人開發者可以在筆記本電腦上運行,提供合理的延遲。
企業可以選擇模型許可,在自己的硬件上運行。他們還提供訓練自定義模型,以了解企業代碼庫特有的獨特模式和樣式。
目前,Jackson 正在考慮下一步該用這款軟件做些什么,以及是否值得商業化。他說,他本人目前在一家大型科技公司有一份全職工作,他還不想放棄,但來自各領域的人都對這款軟件表示“非常感興趣”。“我還沒有真正決定我想用它做什么。”
目前,TabNine 的個人許可用費用為 49 美元,商業用途費用為 99 美元,個人必須注冊 Deep TabNine 測試版才能訪問新的深度學習功能。購買許可之后, TabNine 能夠索引更多文件,給出更多相關建議。
網站上寫道:“TabNine 每分鐘至少可以為你節省 1 秒鐘。如果你認為你的時間價值超過 1.40 美元/小時,它將幫你在不到一年的時間內收回成本。“
他說,如果他能夠使用開源軟件創建這樣的程序,那么 AI 輔助編碼的未來就是一片光明。
“這是在這個領域工作的每個人的目標,告訴計算機你想要寫什么樣的代碼,它就能幫你寫,”他說道。“我們目前距離實現這個目前還很遠,但我認為這種工具可以幫助你更方便地表達自己的想法。”
原文鏈接:
https://www.theverge.com/2019/7/24/20708542/coding-autocompleter-deep-tabnine-ai-deep-learning-smart-compose
https://hub.packtpub.com/introducing-deep-tabnine-a-language-agnostic-autocompleter-based-on-openais-gpt-2/
【END】
ublime Text 是一個代碼編輯器(Sublime Text 2是收費軟件,但可以無限期試用),也是HTML和散文先進的文本編輯器。Sublime Text是由程序員Jon Skinner于2008年1月份所開發出來,它最初被設計為一個具有豐富擴展功能的Vim。
做為一個資深前端來說編輯器上如果沒有文件路徑提示的話那未免有些太雞肋了。所以分享一個路徑提示的插件,先看一下使用效果吧
路徑自動提示出來了,可以省去手動敲文件夾名稱,也可以避免手敲出錯。
步驟一:
我們首先安裝Package Control插件(Package Control 插件是一個方便 Sublime text 管理插件的插件),已安裝過的可以直接跳過此步驟。
從菜單 View - Show Console 或者 ctrl + ~ 快捷鍵,調出 console。
Sublime Text 3 輸入:
import urllib.request,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
Sublime Text 2 輸入:
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
安裝完成之后進行下一步。
步驟二:
在軟件界面按Ctrl+Shift+P調出Package Control的命令框
輸入以上內容,然后鼠標點擊第一個,然后左下角會出現下圖所示的內容
等待加載插件庫列表,加載完之后會彈出選擇框然后輸入AutoFileName點擊安裝
到這里Sublime Text3版本的可以直接使用了,Sublime Text 2 版本的進行下一步
步驟三:
菜單欄依次點開Preferences->Package Settings->AutoFileName->Settings - User把以下代碼復制進去
{
"auto_complete_triggers":
[
{
"characters": "<",
"selector": "text.html"
},
{
"characters": "/",
"selector": "string.quoted.double.html,string.quoted.single.html, source.css"
}
]
}
好了,到此已經大功告成,讓你鍵盤上的小手飛速跳動起來吧!
如果本文對你有用的話請不要忘記分享關注哦!謝謝觀看!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。