新知榜官方账号
2023-08-30 10:04:44
在你敲代码的时候,你正在舒服的享受着自动完成列表所带来的编码快感,这一切都依赖着IntelliCode组件在幕后所做的辛勤工作。
在之前的一篇关于IntelliCode文章中,我们解释了IntelliCode是如何通过对几千个GitHub开源项目里的代码进行机器学习,然后作出更加智能化的编码建议。对于一些类似于标准库的公共API,基于社区知识库的检索分析方式是十分奏效的,但是如果你希望IntelliCode对于私有API或者那些在开源代码中不被广泛使用的库也能进行分析,咋办呢?
为了解决这个问题,从VisualStudio2019v16.5Preview3版本开始,你可以基于你自己的代码库来训练IntelliCode模型。这会产生出一种我们称之为[TeamCompletionsmodel]的模型,因为一旦你开始这样做了,你会得到基于你的开发团队的编码模式的自动完成列表。
对[TeamCompletionmodel]进行训练目前还是一项预览版功能,所以训练的结果可能会随着代码库的配置和平台配置的差异产生各种不同的效果。
首先需要确保[C++teammodelsforcompletions]是处于启用状态,这一选项位于[Tools>Options>IntelliCode>General>PreviewFeatures]页面下。最简单的对一个模型进行训练和测试的方式是通过菜单项[View>OtherWindows>TrainIntelliCodeModelforthisRepository]来进行。
当点击这个菜单项时,VisualStudio会立即基于你的代码开始一项模型训练。当训练结束,第一次的成员列表将基于新创建的[TeamCompletionsmodel],随后所有的列表也都将使用这个新的模型。对于团队开发环境,任何拥有对代码仓库访问权的开发者都将自动得到这个模型。这种方式的好处在于,它不需要每个人单独去训练代码模型,只需要某个开发者训练一次,整个开发团队都可以轻松共享。
请不用担心安全问题,在创建模型的时候,我们不会向我们的服务器上传你的原始代码。如果想知道更多关于模型创建过程的细节,请参考我们的FAQ。
通常情况下,你不需要频繁的训练你的模型。只有当你的代码库有很大的变更时,同时,你希望IntelliCode的代码推荐能同步反映这个改变时,你才需要重新训练。方法很简单,直接通过上面讲述的方法步骤重新训练一次即可。
如果你不想自己管理模型的训练,你可以在AzurePipelines中自动创建和训练模型,作为你的持续集成流水线中的一部分。你需要从VisualStudioMarketplace中安装到AzureDevOpsorganization或者AzureDevOps服务器上。使用这种方法后,当你的代码变更Push到仓库后,编译任务将开始执行并且[teamcompletionsmodel]将开始进行训练。关于此自动化的详细配置方法,请参考文档中关于编译任务的配置和自动化的部分。
这应该是一项很好的功能特性,当你的工程代码越来越庞大或者项目成员越来越多的时候,确实有必要让IntelliCode更加合你的口味一点。
微信扫码咨询
相关工具
相关文章
推荐
阿里Accio中文版上线!一键搞定复杂采购
2025-08-19 09:13
视频“用嘴编辑”的时代来了,但钱包顶得住吗?
2025-08-15 17:59
智谱新模型GLM-4.5V全面开源,玩家们有福啦!
2025-08-12 17:56
扎心文案+AI插画=爆款!揭秘8万赞视频的制作全流程
2025-08-12 10:08
GPT-5没你想的那么好,附实测体验~
2025-08-11 11:07
一站式搞定AI绘图+视频,AI短片效率飙升的秘密在这儿!
2025-08-08 09:26
打工人新神器!10款国产AI,让你告别996!
2025-08-08 09:24
豆包视觉推理深度体验,AI也能“边看边想”了!
2025-08-08 09:19
300美元的AI男友来了!马斯克的情感生意从女友做到男友
2025-08-01 17:56
Agent智能体:2025年企业新员工,月薪仅需一度电?
2025-07-30 17:49