GitHub运用智能排名和程序代码索引技术,全面改善程序代码搜索功能

GitHub改进程序代码搜索功能,让开发者能够更快速简单地搜索到目标程序代码。该新功能正在技术预览阶段,供受到邀请的用户,在https://cs.github.com上进行试用,官方提到,他们替新的程序代码搜索功能,创建一个单独的接口,当功能成熟之后,就会集成到主要的github.com页面中。

目前新的搜索功能,其索引涵盖超过500万个受欢迎的公共存储库,用户也可以将其用在具有存储权限的私有存储库。新的程序代码搜索功能借由智能排名,以及针对程序代码优化的索引,让用户能够简单地在最佳结果中,找到想要查询的内容。

该功能支持子字符串、特殊字符和正规表达式配对,以搜索精确的字符串,用户也能使用org:或repo:等限制符号,来限缩搜索范围,搜索框会自动提供完成建议。针对搜索结果,也可以使用语言、路径、扩展组件和布尔运算符等过滤器,来优化结果,另外,新的程序代码搜索还提供附加功能,像是目录树查看图、跳转到定义和选择搜索等。

GitHub会继续开发此搜索功能,包括增加索引,以涵盖GitHub每个存储库,同时官方也会试验评分和排名启发方法,以找出最有效的方法,另外,GitHub也会继续添加特定语言功能,来增加对更多语言的支持。

这个新的程序代码搜索改善功能,是GitHub针对提升开发者生产力,所进行一系列新功能规划的其中一部分。GitHub提到,作为开发者,要停留在心流状态非常困难,会因为很多事件而中断,像是CI中的测试失败,或是因为需要知道错误消息出现的原因而分心,当开发者解决中断所需要的时间越长,丢失的上下文也就越多。

今年早些时候,GitHub通过加入Copilot和Codespaces,来试图解决这些问题。Copilot是运用人工智能,让开发者即便在不熟悉的领域,也能有效率地进行程序开发,而Codespaces则可以让开发者随时随地进行开发工作,GitHub也展示了自家采用Codespaces来增加生产力的经验。

而在程序代码搜索部分,官方提到,他们的目标是要让每个开发人员,都能快速主动地搜索、探索、导航和理解程序代码,而新的程序代码搜索功能,则是完成该目的的手段,开发人员只要通过搜索,就能够快速获得相关的结果,且在每一步骤都应用自动化,使开发人员更能维持在心流状态。

官方提到,结果页面针对程序代码阅读和理解优化,因此即便是在开发者所使用的IDE之外,也能快速掌握陌生程序代码的逻辑。