vs2019怎么统计程序有多少行代码_使用vs的查找功能,简单大概的统计vs中的代码行数...

VS强大的查找功能,可以使用正则表达式来进行查找,这里统计代码行数的原理就是:

在所有指定文件中进行搜索,统计匹配的文本行数。

但是匹配的行需要满足:非注释、非空等特殊非代码行。

使用Ctrl+Shift+F快捷键打开高级查找,可以设置查找内容为正则表达式(需要在下面勾选,同时可以设置查找的文件类型),查找范围请根据需要进行设置。

点击“查找全部”搜索整个解决方案,可以得到查找结果:

最下面会列出匹配行数,这个就是我们所谓的代码行数的估值了。。。不过这个值也太不准确了。。。

但是起码有一个最大的参考值(真实的代码行数不会大于此数字)。

网上大家都说以下两个正则表达式可以满足需求 b*[^:b#/]+.*$

^b*[^:b#/]+.*$

但是实际测试(VS2013),效果并不理想,空行注释都没有排除,要么就是根本查不到。。。。

嗯,从里面学习到了一个最简单的正则表达式:

\S

意思就是除了空行,都统计进来,这个表达式都比上面网上传的那个强得多。。。

真纠结,等以后仔细研究下正则表达式,再看看怎么排除掉注释吧,看着正则表达式就头疼。。。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Python程序,用于统计Verilog代码数并对各个例化模块以及include文件分类统计。需要注意的是,本程序没有考虑注释和空的情况。 ```python import os def count_lines(file_path): """ 统计文件的数 """ with open(file_path, 'r') as f: lines = f.readlines() return len(lines) def find_module_instances(file_path): """ 查找Verilog代码的所有模块实例 """ module_instances = {} with open(file_path, 'r') as f: for line in f: if line.startswith(' '): # 过滤掉不是模块实例的 words = line.strip().split(' ') module_name = words[0] if module_name not in module_instances: module_instances[module_name] = 0 module_instances[module_name] += 1 return module_instances def count_verilog_code_lines(root_dir): """ 统计Verilog代码数 """ total_lines = 0 module_instances = {} include_files = [] for dirpath, dirnames, filenames in os.walk(root_dir): for filename in filenames: if filename.endswith('.v'): file_path = os.path.join(dirpath, filename) lines = count_lines(file_path) total_lines += lines instances = find_module_instances(file_path) for module_name, count in instances.items(): if module_name not in module_instances: module_instances[module_name] = 0 module_instances[module_name] += count elif filename.endswith('.inc'): file_path = os.path.join(dirpath, filename) lines = count_lines(file_path) total_lines += lines include_files.append(file_path) print('总数:', total_lines) print('各模块实例数:', module_instances) print('Include文件:', include_files) if __name__ == '__main__': root_dir = '/path/to/verilog/files' count_verilog_code_lines(root_dir) ``` 程序接受一个参数 `root_dir`,表示Verilog代码所在的根目录。程序会递归地查找该目录下所有的Verilog代码文件和include文件,并统计它们的数和所有模块实例的数量,最后输出统计结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值