在GitHub存储库中,你可以看到“语言统计”,它显示了用某种语言编写的项目的百分比。但是,它不显示项目由多少行代码组成。通常,我想快速了解项目的规模和复杂性,而代码行数可以给人留下良好的第一印象。500行代码意味着一个相对简单的项目,10万行代码意味着一个非常大/复杂的项目。

那么,是否有可能从GitHub存储库中获得以各种语言编写的代码行,最好不克隆它?


“计算git存储库中的行数”问题询问如何计算本地git存储库中的代码行数,但是:

你必须克隆这个项目,这可能是巨大的。例如,克隆Wine这样的项目需要很长时间。 你可以计算文件中不一定是代码的行数,比如i13n文件。 如果您只计算(例如)Ruby文件,那么您可能会错过大量其他语言的代码,比如JavaScript。您必须事先知道项目使用哪些语言。您还必须为项目使用的每种语言重复计数。

总而言之,这对于“快速检查项目规模”来说可能太费时了。


当前回答

打开终端,运行如下命令:

curl -L "https://api.codetabs.com/v1/loc?github=username/reponame"

其他回答

我专门为这种用法做了一个NPM包,它允许你调用CLI工具,并提供要忽略的目录路径和文件夹/文件

它是这样的:

NPM I -g @quasimodo147/countlines

在终端中获取$ countlines命令

然后你就可以 countlines。Node_modules构建dist

目前不可能在Github.com或他们的api

我已经和客户支持谈过,并确认在github.com上不能这样做。不过,他们已经将这一建议传递给了Github团队,所以希望将来能实现。如果是这样,我一定会编辑这个答案。

与此同时,Rory O'Kane的答案是一个基于cloc和浅回购克隆的出色选择。

Firefox插件Github SLOC

我写了一个小的firefox插件,打印在github项目页面上的代码行数:github SLOC

如果你使用Vscode并且你先克隆项目,这是非常简单的。只需安装代码行(LOC) Vscode扩展,然后运行LineCount:从命令面板计算工作空间文件。

扩展显示的摘要统计文件类型,它还输出结果文件的详细信息的每个文件夹。

您可以使用sourcegraph,这是一个开放源代码的代码搜索引擎。它可以连接到你的GitHub帐户,索引内容,然后在管理部分,你会看到索引的代码行数。