news 2026/4/21 19:16:05

ThingsBoard - 软著之合并源代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ThingsBoard - 软著之合并源代码

申请软件著作权证书,需要上传源程序前连续30页和后连续的30页,并转换为PDF格式。我来来回回折腾了很久,最后找到一个比较简单的方法,记录下来避免忘记。

一、尝试的过程

  1. 开始想直接通过Visual Code导出PDF,尝试了Markdown to PDF Export等插件,后来发现申请软著的格式要求比较严格,偷懒是不行的,必须弄到word里专门处理,从而转向提取源代码。

  2. 通过网上查找的方法统统无效,就像老牌的NotePad++,本打算用它直接读取一个目录来合并,结果官网无法访问,其它地方下载提示病毒,最后在github里下载,之后又无法下载对应的插件。

  3. 之后就在Visual Code里下载插件来处理,AI推荐了一些插件,但要么不能合并,要么没去空格,或者不能选择文件夹。最后我自己直接根据软件说明使用了Code Merger插件,效果不错。

  • PrintCode (失败)
    Added printing function to VS Code!!
    This extension is deprecated. Use the Print extension instead.
  • Print (失败)
    Rendered Markdown, coloured code.
  • File Merger (失败)
    Merge multiple files content into one, with relative path support。
  • Code Merger (成功)
    A VSCode extension for merging code files and removing comments and empty lines, optimized for AI code analysis and processing

二、合并的方法

使用起来Code Merger插件不错,可以选文件夹,自动在不同源码间加横线和全路径文件名,去掉空格和注释,而且速度非常快。

  1. 安装Code Merger
    先点击Visual Code左边栏的插件,搜索code merge,可见Code Merger插件,然后点击Install


2. 在app中,核心文件源代码存储于lib里。直接右键点击lib ,选择Code Merger

  1. 它会将本目录里的所有源文件合并生成到OUTPUT窗口,去掉了注释和空行,并加了文件分隔,速度很快。我也没想通仅仅合并个文本,其它插件为什么会死机。

  1. 为了让审核人员能看出程序调用思路,需要将主文件放在最前面。打开记事本,新建一个文本文件,将合并后的源码拷贝至此,并搜索将lib\thingsboard_app.dart文件的内容放在最前面。

  1. 将记事本文件保存以备用,源代码提取完毕。

三、其它

  1. 申请软著时要填源代码行数,移到记事本末尾,记录下源代码行数。
  2. 源码在各软件中的字符数,统计不一致,还好申请软著并不填字符数。但我也查了一下原因,参见ThingsBoard - 软著字数统计差异。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 9:49:45

振动下机械臂鲁棒快控制-EXP-振动控制-机械臂

振动下机械臂鲁棒快控制-EXP-振动控制-机械臂实验目的 摘要: ​ 针对基座振动和负载变化的机械臂实验,设计鲁棒有限时间控制器。在两连杆机械臂实验装置上测试,能快速定位目标位置,抗干扰能力强,为控制实现和实验搭建提…

作者头像 李华
网站建设 2026/4/8 8:33:47

华为OD技术面真题 - Mysql相关 - 4

文章目录简单介绍一下Mysql中BinLog、RedoLog和UndoLogRedoLogBinLogUndoLogMysql中事务为什么需要两阶段提交简单介绍一下两阶段提交的流程什么是读写分离怎样实现读写分离说说Mysql主从复制流程怎么避免主从延迟简单介绍一下Mysql中BinLog、RedoLog和UndoLog RedoLog 重做日…

作者头像 李华
网站建设 2026/4/18 9:57:26

一维(1D)CNN模型下轴承故障诊断(Python,TensorFlow框架下,很容易改为其它模型,解压缩后可以直接运行,无需修改任何目录)

1.数据集使用凯斯西储大学轴承数据集,一共有4种负载下采集的数据,每种负载下有10种 故障状态:三种不同尺寸下的内圈故障、三种不同尺寸下的外圈故障、三种不同尺寸下的滚动体故障和一种正常状态。2.模型(1DCNN)使用数据…

作者头像 李华
网站建设 2026/4/14 2:22:43

RAG上下文构建完全指南:从召回策略到最佳实践,一篇搞定!建议收藏

文章探讨了RAG系统中构建上下文的关键问题,特别是当语义召回的多个chunk来自不同段落时如何选择上下文内容。分析了直接使用召回chunk与召回完整段落两种方案的优缺点,指出应根据文档长度、场景需求选择折中方案。有时为减少token消耗并提升模型准确性&a…

作者头像 李华
网站建设 2026/4/16 23:21:38

AI产品经理深度转型指南!

🔥AI产品经理,最近的市场又开始变得火热了起来。💡大部分公司已经开始从原来的巨量投入,变成盈利的状态了。另外算力成本、数据采集和标注成本也在不断下降📉!AI行业已经开始迎来了新的拐点📈&a…

作者头像 李华
网站建设 2026/4/15 14:28:47

大数据连接池配置:结构化数据访问优化

大数据连接池配置:结构化数据访问的“资源平衡术” 一、引入:大数据场景的“连接之痛” 去年双11零点,某电商的实时销售分析系统突然陷入瘫痪: 运营同学要查看“5分钟内TOP10热销商品”,点击查询后等待了18秒才加载…

作者头像 李华