AI 加持的代码编写实战:快速实现 Nginx 配置格式化工具( 四 )


关于离线模型做代码补全,是一个老话题了,如果你追求更快的实时性,以及和代码工具的贴合程度 。就个人体验来说,我暂时还推荐。
至于其他的工具,建议感兴趣的同学自己试试看,包括性能、生成结果、代码 IDE 的兼容性等等,感觉差距还是挺明显的 。
我使用了三年左右,本地模型尺寸拢共 1.2G,如果一周写代码的时间比较多,至少能够帮助我节约 13~30% 的输出时间 。
# pwd/Users/soulteary/Library/Application Support/TabNine/models# ls29b87067.tabninemodel b8373e4b.tabninemodel ce94127b.tabninemodel# du -hs *241M 29b87067.tabninemodel685M b8373e4b.tabninemodel256M ce94127b.tabninemodel# du -hs .1.2G .
不过,的上限取决于你让它见过的代码有多少,以及有多好,培养好的模型,和喂电子宠物差不多,需要时间 。

AI 加持的代码编写实战:快速实现 Nginx 配置格式化工具

文章插图
在线代码补全模型的使用
如果你想开箱即用,并且代码没有那么敏感,那么在线代码补全,会更适合你 。
这里唯一推荐的是:/,如果你的网络通畅,一般情况下你的代码补全都能够在 1s~2s 内完成 。
默认情况下,你可能需要花一些小钱,来订阅这个功能 。很幸运,我的账号有资格直接使用它 。
网上应该有很多对于的介绍了,我这里介绍两个实际使用时的小技巧 。
在实际的程序编写中,我们会打开很多不同的文件,但是如果我们要生成的代码只和某个或者某几个文件相关,可以考虑关闭其他的文件 。
如果我们想针对某段具体的内容进行代码生成,在生成之前,可以顺手复制粘贴一下我们想作为上下文进行代码生成的内容 。在生成代码的时候,能省一些事情 。
实战:收尾工作
编码工作完成之后,我们还需要做一些内容的收尾 。
比如,编写中英双语的项目文档,以及设计项目的 Logo 。
使用 GPT 完成开源项目的文档
这里和前文中使用一样,我们可以多次提交内容,让帮助我们写出项目的框架 。
然后我们根据实际情况,把文档中的内容进行替换即可 。
至于英文文档,只需要和上文中将 “Auto GPT 内容翻译中文”一样,反过来,让将内容翻译成英文即可 。
是不是简单省事 。
使用完成项目图标
编写项目最难的部分之一,就是为项目设计一个 Logo 。不过现在有了 SD、,这件事变的太简单了 。
我们只需要对它下命令:“帮助我设计一个 Logo,Logo 的内容是…”
当然,在实际的使用中,如果我们将改写为英文,对于模型而言,生成的效果会更好一些 。
如果你经常使用等图文模型,可以试试使用之前在热榜上待了很久的,我另外一个开源项目:《八十行代码实现开源的 、“咒语”作图工具》 。
其他
好了,文章的基本内容,到这里就聊完了 。
我们来聊聊开源社区里的趣事 。
开源社区里的趣事
其实去年的时候,在 Nginx 社区里,有一个老外曾留下一个 issue,包含了几个去掉配置中多余空格的修改 。
我当时看到了这个提交,觉得因为没有提供一致性的标准或可复现的工具,这个属于水 PR 。于是,留了一条评论 “这个变更似乎没有必要,或许提供一个通用的格式化工具,对于开发者而言更有价值 。”
但是,不论是这个变更提交者,还是项目相关维护者都没有继续进行回复 。于是,这个 issue 就挂了一年之久 。正巧借着这个机会,就用来解决这个事情吧 。
目前,我已经用这个小工具完成了 Nginx 官方配置仓库中的“内容翻修”,以及点亮了 Nginx 开源社区的贡献者图标记录 。