首页 > 其他分享 >tokei使用方法

tokei使用方法

时间:2023-05-09 21:55:04浏览次数:38  
标签:cargo 方法 编译 tokei 使用 curl 安装 Rust

统计代码行数实用工具Tokei

1. Preface

  tokei是一个按照语言统计项目代码行数,文件数,不同语言行数,以及代码注释信息的实用工具,能够快速运行且提供准确的代码统计信息,统计结果输出支持的格式CBOR、JSON、TOML 与 YAML;Tokei可以作为一个Rust库直接集成到项目中使用,完全支持垮平台,且支持超过150忠编程语言;

2. Rust安装

首先需要在Linux系统上安装Rust环境,才能编译Tokei源码进行安装

通过如下命令安装Rust环境:

curl https://sh.rustup.rs -sSf | sh

此命令会下载必须的脚本并开始安装rustup工具,同时会安装当前最新的稳定版的的Rust,且会将rustc和cargo等命令添加到PATH路径中,我们只要重启终端/shell 就能立即使用.

备注
安装之前,需要检查curl是否是通过snap安装的:

sudo snap list | grep curl

如果是通过snap安装的,则可能会导致Rust安装失败,此时需要先卸载curl

sudo snap remove curl

在通过apt命令安装curl:

sudo apt install curl

此时再安装Rust,如果显示如下信息,则表示Rust安装成功:

img

此时重新加载一下环境变量即可使用:

source $HOME/.cargo/env

Cargo是Rust的包管理器,rustc是Rust的编译器,此时Rust安装完成。

rustup show    # 显示安装的Rust工具链

rustup update   # 更新Rust的工具链

rustup self uninstall  # 卸载Rust

Rust项目编译方法
Rust官方文档

3. Tokei安装

下载Tokei源码,进行解压,进入源码目录,运行命令:

cargo build

如果报错,表示cargo build国内被墙下载失败,解决办法: 在$HOME/.cargo目录下,新建config文件,文件内容:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index

将下载源替换为国内镜像源之后,即可进行正常的编译:

进入tokei-master源码目录:

img

在项目根目录下进行编译

cargo build --release # 编译release版本
cargo build --debug # 编译debug版本

编译完成后,可在target目录下找到编译好的可执行文件

4. tokei使用

编译完成后,即可使用tokei统计项目的代码行数:

img

通过参数-s,可以按照指定的列进行排序,如通过代码行数进行统计:

tokei -s code ./workflow

统计结果如下所示:

img

通过参数-t可以选择需要的语言的类型,多个类型可以使用逗号进行分格,统计结果如下所示:

img

如果需要过滤掉特定类型的文件进行统计,则需要通过参数-e进行过滤:

img

此时可以看到C文件的统计已被排除在外;

如果希望不按照文件进行合并,分别统计所有单个文件的信息,则可以使用--files参数进行控制:

img

可以看到,统计结果中只单独展示MakeFile文件和c语言文件

标签:cargo,方法,编译,tokei,使用,curl,安装,Rust
From: https://www.cnblogs.com/ncepubye/p/17386406.html

相关文章

  • protoc命令工具使用
    protoc参数基本含义--go_out用于指定protoc的工作方式和go代码生成的位置参数(用,分开):plugins:生成go代码所用插件paths:go代码生成的位置:import:$按照生成的go代码的包的全路径来创建目录层级例如:在demo.proto中定义了optiongo_package="project/demo",那么就会......
  • Kubernetes 使用 Ingress-nginx 实现灰度发布功能
    推荐阅读Helm3(K8S资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506Helm3(K8S资源对象管理工具)博客专栏:https://blog.csdn.net/xzk9381/category_10895812.html本文原文链接:https://blog.csdn.net/xzk9381/article/details/109570832,转载请注明出处。如有发现文......
  • 使用Git上传本地项目到GitHub/Coding/码云
    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。本文以利用Git上传本地项目到GitHub为例,为那些刚刚接触Git的新手提供使用Git上传本地项目到GitHub/Coding/码云的方法。注册GitHub账号并安装Git首先注册GitHub账号,并添加新项目。下载......
  • 使用vue的keep-alive缓存组件,三级菜单组件无法缓存问题解决
    使用vue做后台管理系统,需求是所有的菜单打开之后,下次点击的时候的使用缓存,这里很简单的做法就是用来包裹住;但是一级菜单和二级菜单都没有问题,三级菜单就会出现无法缓存的问题,网上找资料说是vue中keep-alive本身存在的缺陷,需要在路由守卫中将matched属性做一下优化,具体如下//......
  • KingbaseES V8R6 Deallocate 语句使用说明
    用途DEALLOCATE被用来释放一个之前PREPARE好的SQL语句。如果不显式地释放一个PREPARE语句,那么会话结束时会释放它。prepare语句类似oracle的绑定变量绑定过程:1)PREPARE,准备绑定变量SQL2)EXECUTE,绑定并执行3)DEALLOCATE,释放绑定变量测试1.只有本地会话可以看的prepare语句......
  • KingbaseES V8R6 sys_squeeze 使用
    sys_squeeze介绍sys_squeeze是KingbaseES的一个扩展插件,该组件将提供人工调用命令实现对表deadtuple的清理工作。该组件在清理表空间的过程中,不会全程加排他锁,能保证业务运行期间尽可能不影响对目标表的访问。而vacuumfull也可实现死亡元组占用空间释放,但是缺点是会锁表,阻止业......
  • citect使用CitectVBA脚本获取本机IP地址
    这是我在新浪写过的一个笔记,在这里也记录一遍。新浪博客地址citect使用CitectVBA脚本获取本机IP地址_来自金沙江的小鱼_新浪博客(sina.com.cn)最近现场计算机上需要获取IP地址来做一些功能,简单得查询了一下网络,还是很好实现的。新建一个citectVBA函数FunctionGetIPAddress()......
  • KingbaseES 语句like前匹配如何使用索引
    前言有现场同事反馈sql语句like使用后缀通配符%不走索引。至于执行计划没走索引的原因与KingbaseES数据库中的排序规则相关。测试测试环境:KingbaseESV8R6C7test=#\dtestTable"public.test"Column|Type|Collation|Nullable|Default--......
  • KingbaseES 使用sys_bulkload远程导入
    前言sys_bulkload常见场景是本地导入数据,也可以在远程运行sys_bulkload,对数据库上的CSV文件进行导入。远程导入数据时候需要注意,csv文件和ctl文件所在服务器。以下举例展示整个远程导入的过程。测试环境V8R6C7演示目的将数据从IP2所在服务器导入到IP3远程服务器上。IP3......
  • H2 数据库使用教程
    启动方式启动数据库1.命令行启动java-cph2*jarorg.h2.tools.Server如果在控制台无法创建数据库可以采用如下启动方式java-cph2*.jarorg.h2.tools.Server-ifNotExists2.应用程序内启动JAVA项目中使用H2数据库为什么要使用H2数据库H2数据库是可以嵌入到JAVA项......