不靠谱——vscode原生不内置license模板,需依赖插件(如bradlc.vscode-license-generator)或命令行工具(如npx license)生成;生成后须检查路径、编码、版权信息三处细节,否则github无法识别。

VSCode里直接生成LICENSE文件靠谱吗
不靠谱——VSCode默认不内置任何 LICENSE 模板,所谓“快速生成”实际依赖插件或手动配置。原生编辑器连 LICENSE 文件名都不自动补全,更别说填充 MIT / Apache-2.0 等正文内容。
用 license-generator 插件最省事
装完 bradlc.vscode-license-generator(注意别装错名字带“tailwind”的那个),右键项目根目录 → Generate License 就能选模板、填作者名、年份,自动生成标准格式的 LICENSE。
- 支持 MIT、Apache-2.0、GPL-3.0、BSD-2-Clause 等主流协议,选错协议类型会导致法律效力失效
- 生成的
LICENSE文件名不含后缀(不是LICENSE.md),这是开源社区约定,GitHub 会自动识别 - 如果项目已有
LICENSE,插件不会覆盖,得手动删旧文件再生成
不想装插件?用终端一行命令也行
在项目根目录运行:
npx license mit -o LICENSE --year 2024 --fullname "Your Name",前提是本地有 Node.js 和 npm。
-
npx license调用的是spdx-license-generator,比手写少出错,比如 MIT 协议里 “permission notice” 段落漏掉就可能让授权无效 - MIT 和 Apache-2.0 对“专利授权”和“商标使用”的处理差异很大,
license命令不会帮你判断该用哪个,得自己查清楚再选参数 - Windows 用户若遇到
command not found,大概率是 npm 全局路径没进系统 PATH,别折腾,直接装插件更稳
生成完还得检查三件事
很多团队以为点一下就完事,结果 PR 被拒——因为 GitHub 的 LICENSE 检测很机械:
-
LICENSE必须放在仓库根目录,不能在/docs/LICENSE或/assets/LICENSE - 文件编码必须是 UTF-8 无 BOM,Windows 记事本保存容易带 BOM,导致 GitHub 不识别
- MIT 协议里
Copyright (c) [year] [fullname]这行必须和你填的一致,大小写、括号、空格都不能错,否则自动化扫描工具会标为“Unknown license”
协议不是装饰品,生成只是第一步;真正卡住开源合规的,往往是这些小到看不见的字符和路径细节。











