TabNine AI Code Completions开源项目

我要开发同款
匿名用户2021年11月09日
48阅读
开发技术SHELL
所属分类终端/远程登录、应用工具
授权协议MIT License

作品详情

TabNine

ThisistherepositoryforthebackendofTabNine,theall-languageautocompleter.Therearenosourcefilesherebecausethebackendisclosedsource.

Youcanmakefeaturerequestsbyfilinganissue.Youarealsowelcometomakepullrequestsforchangestotheconfigurationfiles.

languages.ymldetermineswhichfileextensionsareconsideredpartofthesamelanguage.(Forexample,identifiersfrom.cfileswillbesuggestedin.hfiles.)

language_tokenization.jsondetermineshowlanguagesaretokenized.Forexample,identifierscancontaindashesinLisp,butnotinJava.

Ifyourfeaturerequestisspecifictoaparticulareditor'sTabNineclient,pleasefileanissueinoneoftheserepositories:

VSCodeSublimeTextVimAtom

YoumaybeinterestedintheseTabNineclientswrittenbythirdparties:

NOTE:Codotaisnotvalidatinganycodeinthosepluginsandisnotresponsibleforthembyanymeans.

EmacsVim(Deoplete)EclipseYourclienthttps://github.com/codota/TabNine/blob/master/HowToWriteAClient.mdChangelogs

Ifnewfeaturesdon'tworkforyou,checkthatyouhavethemostrecentversionbytypingTabNine::versionintoyourtexteditor.Ifyoudon'thavethemostrecentversion,tryrestartingyoureditor.

2.3.0-2.3.7(Febuary10,2020)PreventingexcessiveCPUandmemoryconsumption2.2.0-2.2.2(January8,2020)SwitchfromselfsignedcertificatetoLet'sEncryptFixLSPconfigurationforGoLangandClang2.1.0(August24,2019)TabNineLocalisnowenabledbydefault2.0.0—2.0.10(July15—August20,2019)DeepTabNineCandownloadandrunTabNineLocalmodelsCanconnecttoTabNineCloudSimplifiedbracketpairinglogicSimplifiedfilesystemeventhandlingAddedaconfigurationpanelforviewingsettingsandlogswhichcanbeaccessedbytypingTabNine::config1.0.14(May16,2019)TabNinenolongerwatchesforfilesystemeventsinignoreddirectories(closes#43).TabNinenowwaitsuntilacompletionisrequestedtostartthelanguageserver(closes#50).Fileswiththe.dextensionarenowrecognizedasDsourcefiles(closes#56).AddedLSPdefaultconfigurationforPureScript.Fixedalogicerrorthatcausedindexsizetobetrackedincorrectlyinsomecases.1.0.10(December1,2018)Fixedaninternallogicerrorwhichcouldputindexingthreadsintoabadstate,leadingtoaninfiniteloop(mightclose#24,we'llsee).TabNinenowconsidersawiderrangeofpossibilitieswhencompletinginazero-charcontext(i.e.whentherearenocharactersimmediatelybeforethecursor).TabNinenowincludes-inidentifierswhenparsingRacketcode.1.0.9(November27,2018)TabNinenowusesthecontextafterthecursortofilteritssuggestions.Forexample,iftherearetokensonthesamelineasthecursor,TabNinewillnotmakeasuggestionendinginasemicolon(unlesstherearealreadyinstancesinthecodebaseofsemicolonsoccurringinthemiddleofaline).TabNineremovestokensmatchingtheregex\d.*[a-zA-Z].*\d.*[a-zA-Z]fromtheprojectindex.Thisissupposedtopreventlongkeysorbase64literalsfromoccurringinautocompletionsuggestions.Thetokensarenotfilteredfromthedirectoryindexorthefileindex.TabNinenowrecognizes.tsxfilesasTypeScriptratherthan.xml(closes#21).TabNineonlychecksitsversiondirectory,notitstargetdirectory,whenauto-updatingorwritingregistrationkeys.(ThisfixesanissueassociatedwithDOSpathshortening.)1.0.7(November20,2018)Semanticcompletionisadded!ThisallowsTabNinetointegratewithanylanguageserverthatimplementstheLanguageServerProtocol.TabNinewillintegratethelanguageserver'ssuggestionswithitsown.Forexample,TabNinecansuggestmulti-tokencompletionswherethefirsttokenisprovidedbythelanguageserver.TabNinequeriesthelanguageserverasynchronously.So,ifthelanguageserverisslow,youwillseeTabNine'sresultsonly.Continuetypingtoseethelanguageserver'sresults.TabNinepassesalonganytypeinformationordocumentationprovidedbythelanguageserver.(TheSublimeandVSCodeclientsarenotyetupdatedtodisplaythedocumentation;thisiscomingsoon.)Seethesemanticcompletionguideforconfigurationhelp.Paidindexsizelimitincreasedto100MB(from15MB).Freeindexsizelimitincreasedto400KB(from200KB).Improvedindexingperformance.Increasedlicensepriceto$49/$99personal/business(from$29/$89).TabNinenowprovidesclosingbracketsforitssuggestions(soifitsuggestsfoo(itwilladditionallyinsert)totherightofthecursoroncethesuggestionisaccepted).TheeditorclientsdonotsupportthisyetasitrequiresanupgradetothecommunicationprotocolwithTabNine;thisiscomingsoon.Closes#11asthisisnolongeranissuewiththeTabNinebackend.TabNinenowsearchesallparentstofindtheprojectrootratherthanstoppingatthefirst.git.ThispermitsnestedGitrepositories(closes#5).TabNineprovidesanAPIcalltogettheregexitusestofindidentifiers(closes#7).TabNinenolongerindexesfilesin.git(closes#8).TabNinenowrespects.tabnineignorefiles(closes#15).TabNineallowsdisablingauto-updatebytypingTabNine::disable_auto_updateintoyourtexteditor(closes#14).TabNinenolongerstoresregistrationkeysandconfiginsamedirectorywhereitisinstalled.Thisshouldpreventregistrationkeysandconfigfrombeingoverwrittenbyclientupdates(closes#10).YoucantypeTabNine::config_dirtoseewhereconfigfilesarebeingstored.
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论