日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

webstorm代码行数统计_【Rust每周一库】Tokei 统计代码行数等信息的实用工具

發(fā)布時(shí)間:2025/4/16 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webstorm代码行数统计_【Rust每周一库】Tokei 统计代码行数等信息的实用工具 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Tokei是一個(gè)按語(yǔ)言統(tǒng)計(jì)代碼行數(shù)等統(tǒng)計(jì)信息的工具。其實(shí)這些信息還是非常有用的,首先程序猿可以用它來(lái)估計(jì)別人的實(shí)力或者觀察自己實(shí)力成長(zhǎng)的速度(神馬,行數(shù)論英雄么?)。其次,管理人員可以用它來(lái)估計(jì)工程的進(jìn)度和預(yù)算(據(jù)說(shuō)一個(gè)程序猿一天寫(xiě)不出100行代碼?)。最后,其實(shí)在看新代碼的時(shí)候先看下這些數(shù)據(jù),也有助于對(duì)代碼的理解(說(shuō)不定最長(zhǎng)的文件就是核心邏輯的所在處呢?)。所以,大家以后沒(méi)事多tokei一下呀。

好了不廢話(huà),首先安裝的話(huà)直接用cargo就好了:

$ cargo install tokei

我們下面以cpython的源碼為例,看下tokei具體如何使用

直接使用tokei+目錄名就可以得到關(guān)于目錄下按語(yǔ)言分類(lèi)的文件數(shù)、代碼行數(shù)(包括代碼和注釋)和空行數(shù)。

$ tokei cpython/
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
Assembly 6 1978 1723 26 229
Autoconf 13 4493 2708 939 846
Batch 32 2120 1762 7 351
C 317 421274 320386 48459 52429
C Header 384 181963 156295 10240 15428
C Shell 1 25 11 5 9
C++ 5 4223 3241 256 726
CSS 1 6 0 4 2
D 5 83 74 1 8
Fish 1 64 38 13 13
HTML 10 2045 1926 11 108
INI 1 171 102 27 42
JavaScript 2 209 177 14 18
JSON 6 68 68 0 0
Lisp 1 692 502 81 109
Makefile 4 339 242 40 57
Markdown 2 47 47 0 0
Module-Definition 8 1400 1363 14 23
MSBuild 10 995 824 80 91
Objective-C 7 794 635 61 98
PowerShell 6 600 345 171 84
Prolog 1 24 24 0 0
Python 1943 814052 636398 58030 119624
ReStructuredText 645 322625 322625 0 0
Shell 5 797 487 191 119
SVG 8 8 8 0 0
Plain Text 149 89499 89499 0 0
TOML 1 4 4 0 0
VBScript 1 1 0 1 0
Visual Studio Pro| 48 6276 6223 8 45
Visual Studio Sol| 2 1472 1471 0 1
XSL 1 5 5 0 0
XML 58 417 338 7 72
-------------------------------------------------------------------------------
Total 3684 1858769 1549551 118686 190532
-------------------------------------------------------------------------------

使用-s可以針對(duì)某個(gè)列排序,比如如果我們要針對(duì)代碼行數(shù)排序

$ tokei cpython/ -s code
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
Python 1943 814052 636398 58030 119624
ReStructuredText 645 322625 322625 0 0
C 317 421274 320386 48459 52429
C Header 384 181963 156295 10240 15428
Plain Text 149 89499 89499 0 0
Visual Studio Pro| 48 6276 6223 8 45
C++ 5 4223 3241 256 726
Autoconf 13 4493 2708 939 846
HTML 10 2045 1926 11 108
Batch 32 2120 1762 7 351
Assembly 6 1978 1723 26 229
Visual Studio Sol| 2 1472 1471 0 1
Module-Definition 8 1400 1363 14 23
MSBuild 10 995 824 80 91
Objective-C 7 794 635 61 98
Lisp 1 692 502 81 109
Shell 5 797 487 191 119
PowerShell 6 600 345 171 84
XML 58 417 338 7 72
Makefile 4 339 242 40 57
JavaScript 2 209 177 14 18
INI 1 171 102 27 42
D 5 83 74 1 8
JSON 6 68 68 0 0
Markdown 2 47 47 0 0
Fish 1 64 38 13 13
Prolog 1 24 24 0 0
C Shell 1 25 11 5 9
SVG 8 8 8 0 0
XSL 1 5 5 0 0
TOML 1 4 4 0 0
CSS 1 6 0 4 2
VBScript 1 1 0 1 0
-------------------------------------------------------------------------------
Total 3684 1858769 1549551 118686 190532
-------------------------------------------------------------------------------

使用-t可以過(guò)選擇想要的語(yǔ)言

$ tokei cpython/ -t=Python
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
Python 1943 814052 636398 58030 119624
-------------------------------------------------------------------------------
Total 1943 814052 636398 58030 119624
-------------------------------------------------------------------------------

也可以同時(shí)選擇多個(gè)語(yǔ)言,使用逗號(hào)分開(kāi)

$ tokei cpython/ -t=Python,C++
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
C++ 5 4223 3241 256 726
Python 1943 814052 636398 58030 119624
-------------------------------------------------------------------------------
Total 1948 818275 639639 58286 120350
-------------------------------------------------------------------------------

使用-e可以過(guò)濾掉不想要進(jìn)入統(tǒng)計(jì)的文件名類(lèi)型,比如說(shuō)我們過(guò)濾掉所有拓展名是c的文件

$ tokei cpython/ -e *.c
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
Assembly 6 1978 1723 26 229
Autoconf 13 4493 2708 939 846
Batch 32 2120 1762 7 351
C Header 384 181963 156295 10240 15428
C Shell 1 25 11 5 9
C++ 5 4223 3241 256 726
CSS 1 6 0 4 2
D 5 83 74 1 8
Fish 1 64 38 13 13
HTML 10 2045 1926 11 108
INI 1 171 102 27 42
JavaScript 2 209 177 14 18
JSON 6 68 68 0 0
Lisp 1 692 502 81 109
Makefile 4 339 242 40 57
Markdown 2 47 47 0 0
Module-Definition 8 1400 1363 14 23
MSBuild 10 995 824 80 91
Objective-C 7 794 635 61 98
PowerShell 6 600 345 171 84
Prolog 1 24 24 0 0
Python 1943 814052 636398 58030 119624
ReStructuredText 645 322625 322625 0 0
Shell 5 797 487 191 119
SVG 8 8 8 0 0
Plain Text 149 89499 89499 0 0
TOML 1 4 4 0 0
VBScript 1 1 0 1 0
Visual Studio Pro| 48 6276 6223 8 45
Visual Studio Sol| 2 1472 1471 0 1
XSL 1 5 5 0 0
XML 58 417 338 7 72
-------------------------------------------------------------------------------
Total 3367 1437495 1229165 70227 138103
-------------------------------------------------------------------------------

也可以使用--files使得統(tǒng)計(jì)按照文件顯示而不是合并顯示。因?yàn)閏python的文件太多,我們選取一個(gè)子目錄看看:

$ tokei cpython/Parser/ --files
-------------------------------------------------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------------------------------------------------
C 9 3860 3158 347 355
-------------------------------------------------------------------------------------------------------------------------
cpython/Parser/listnode.c 70 60 2 8
cpython/Parser/token.c 243 233 3 7
cpython/Parser/myreadline.c 380 295 37 48
cpython/Parser/parsetok.c 495 414 25 56
cpython/Parser/grammar1.c 47 38 3 6
cpython/Parser/parser.c 462 336 61 65
cpython/Parser/acceler.c 123 105 10 8
cpython/Parser/tokenizer.c 1852 1550 163 139
cpython/Parser/node.c 188 127 43 18
-------------------------------------------------------------------------------------------------------------------------
C Header 2 137 101 15 21
-------------------------------------------------------------------------------------------------------------------------
cpython/Parser/parser.h 49 37 2 10
cpython/Parser/tokenizer.h 88 64 13 11
-------------------------------------------------------------------------------------------------------------------------
Python 10 2898 2369 111 418
-------------------------------------------------------------------------------------------------------------------------
cpython/Parser/asdl.py 376 281 41 54
cpython/Parser/asdl_c.py 1417 1224 17 176
cpython/Parser/pgen/automata.py 371 280 20 71
cpython/Parser/pgen/token.py 38 22 4 12
cpython/Parser/pgen/pgen.py 305 255 8 42
cpython/Parser/pgen/metaparser.py 152 115 21 16
cpython/Parser/pgen/__init__.py 0 0 0 0
cpython/Parser/pgen/grammar.py 147 124 0 23
cpython/Parser/pgen/keywordgen.py 59 42 0 17
cpython/Parser/pgen/__main__.py 33 26 0 7
-------------------------------------------------------------------------------------------------------------------------
Total 21 6895 5628 473 794
-------------------------------------------------------------------------------------------------------------------------

最后也可以把剛才這些組合起來(lái),比如

$ tokei cpython/Parser/ --files -t=Python -s code -e __init__.py
-------------------------------------------------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------------------------------------------------
Python 9 2898 2369 111 418
-------------------------------------------------------------------------------------------------------------------------
cpython/Parser/asdl_c.py 1417 1224 17 176
cpython/Parser/asdl.py 376 281 41 54
cpython/Parser/pgen/automata.py 371 280 20 71
cpython/Parser/pgen/pgen.py 305 255 8 42
cpython/Parser/pgen/grammar.py 147 124 0 23
cpython/Parser/pgen/metaparser.py 152 115 21 16
cpython/Parser/pgen/keywordgen.py 59 42 0 17
cpython/Parser/pgen/__main__.py 33 26 0 7
cpython/Parser/pgen/token.py 38 22 4 12
-------------------------------------------------------------------------------------------------------------------------
Total 9 2898 2369 111 418
-------------------------------------------------------------------------------------------------------------------------

最后,其實(shí)tokei是個(gè)日語(yǔ)詞,意思是鐘表,也許作者是在暗示這款工具運(yùn)行地速度飛快吧。實(shí)際上在github中有和其他類(lèi)似工具(Go的scc以及同樣用Rust寫(xiě)的loc)的比較。但比較的版本有些老了。

我們就自己跑一下看看統(tǒng)計(jì)當(dāng)前Rust官方代碼庫(kù)的成績(jī)(CPU時(shí)間)吧:

tokei 1.5±0.1s

scc 2.3±1.0s

loc 3.8±0.4s

tokei是不是很優(yōu)秀?不過(guò)也別太當(dāng)真啦,反正都是一眨眼的事情。沒(méi)事多tokei一下你的代碼吧~

總結(jié)

以上是生活随笔為你收集整理的webstorm代码行数统计_【Rust每周一库】Tokei 统计代码行数等信息的实用工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。