新知榜官方账号
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更加合你的口味一点。
相关工具
相关文章
推荐
用Deepseek写AI绘图提示词,像呼吸一样简单!
2025-02-19 16:12
你以为AI绘画是黑科技?其实早成了“路边摊生意”!
2025-02-19 10:15
Flux爆火,全网最全面最详细的Flux使用教程!
2025-02-18 14:19
用AI如何创作音乐,实战教学来啦!
2025-02-17 17:23
MidJourney让你秒变绘画大神,从零开始画哪吒!
2025-02-17 14:56
AI应用新境界:让人工智能成为你的得力助手
2025-02-14 15:45
AI短片革命:当创作遇上智能,人人都能成为导演
2025-02-14 14:53
AI狂潮下的人类职场:是失业危机还是进化契机?
2025-02-13 16:53
开启影视创作新纪元,效率提升 10 倍的神器来了!
2025-02-13 15:11
深度解析DeepSeek:当AI技术照进创作产业的未来
2025-02-12 17:16