一个自定义的 VSCode 扩展,用于检查 TypeScript 代码规范,支持高亮显示问题并提供悬停提示。
- 支持多种代码规范规则检查
- 实时显示代码问题,使用亮黄色背景高亮整行
- 鼠标悬停时提示违反的规则
- 完全可配置的规则
规则 ID | 描述 | 默认值 |
---|---|---|
maxLineLength | 最大行长度 | 200 |
indentSize | 缩进大小 | 2 |
useSpaces | 是否使用空格缩进 | true |
semicolons | 是否使用分号 | true |
noConsole | 禁止使用console语句 | true |
noVar | 禁止使用var声明 | true |
noAny | 禁止使用any类型 | true |
noEmptyFunctions | 禁止使用空函数 | true |
namingConvention | 函数和变量的首字母必须小写,但是对于继承自UE的类首字母大写 | true |
functionEmptyLine | 函数实现的首行跟函数名之间空一行 | true |
- 下载最新的
.vsix
文件 - 在 VSCode 中,点击左侧活动栏的扩展图标
- 点击扩展视图右上角的
...
菜单,选择 "从 VSIX 安装..." - 选择下载的
.vsix
文件 - 安装完成后,重启 VSCode
-
克隆仓库到本地
git clone https://github.com/your-username/typescript-linter-extension.git cd typescript-linter-extension
-
安装依赖
npm install
-
编译扩展
npm run compile
-
打包扩展
npm install -g vsce vsce package
-
安装生成的
.vsix
文件- 在 VSCode 中,点击左侧活动栏的扩展图标
- 点击扩展视图右上角的
...
菜单,选择 "从 VSIX 安装..." - 选择生成的
.vsix
文件
- 克隆仓库
- 运行
npm install
安装依赖 - 运行
npm run compile
编译代码 - 运行
npm run prepare-package
升级版本号并编译 - 运行
npm run package-only
打包扩展
扩展使用自动版本管理系统:
npm run bump-version
- 自动将补丁版本号加 1npm run prepare-package
- 升级版本号并编译代码npm run package-only
- 只打包扩展,不升级版本号
要添加新的规则,请按照以下步骤操作:
- 在
src/rules
目录下创建新的规则文件,例如myNewRule.ts
- 实现
Rule
接口 - 在
src/rules/ruleRegistry.ts
中注册新规则 - 在
package.json
中添加规则配置 - 在
src/linter.ts
的LinterRules
接口中添加规则属性 - 在 README.md 中更新规则文档
- 安装扩展后,它将自动检查您的 TypeScript 文件
- 代码问题将在编辑器中以亮黄色背景高亮显示整行
- 将鼠标悬停在问题行上可以查看详细信息,包括违反的规则
- 使用命令面板(Ctrl+Shift+P)并输入 "TypeScript Linter: 检查当前文件" 手动检查当前文件
- 在保存文件时自动检查(默认启用)
无论您是通过 .vsix 文件安装还是从扩展市场安装,设置的修改方法都是一样的。
-
打开 VSCode 设置
- 点击左下角的齿轮图标,选择"设置"
- 或者使用快捷键
Ctrl+,
(Windows/Linux)或Cmd+,
(Mac)
-
在设置搜索框中输入
typescriptLinter
- 这将筛选出所有与 TypeScript Linter 相关的设置
-
在设置界面中,您可以:
- 勾选或取消勾选
typescriptLinter.autoCheck
选项来启用或禁用自动检查 - 点击
Edit in settings.json
链接来直接编辑 JSON 格式的设置
- 勾选或取消勾选
-
打开 settings.json 文件
- 按下
Ctrl+Shift+P
(Windows/Linux)或Cmd+Shift+P
(Mac)打开命令面板 - 输入
Preferences: Open Settings (JSON)
并选择该选项
- 按下
-
在 settings.json 文件中添加或修改以下配置:
{
"typescriptLinter.autoCheck": true,
"typescriptLinter.rules": {
"maxLineLength": 200,
"indentSize": 4
}
}
- 保存文件后,设置将立即生效
如果您想为特定项目设置不同的规则,可以创建工作区设置:
- 在项目根目录创建
.vscode
文件夹(如果不存在) - 在该文件夹中创建
settings.json
文件 - 添加与上面相同格式的配置
- 这些设置将仅应用于当前项目
修改设置后,您可以通过以下方式验证设置是否生效:
- 打开一个 TypeScript 文件
- 故意违反一条规则(例如,添加一个超过最大行长度的行)
- 保存文件或运行
TypeScript Linter: 检查当前文件
命令 - 查看是否有相应的错误提示(亮黄色背景高亮)
您可以通过 VSCode 的设置界面或 settings.json
文件自定义规则:
- 打开 VSCode 设置(文件 > 首选项 > 设置,或按
Ctrl+,
) - 搜索 "typescriptLinter"
- 根据需要调整各项规则
在 settings.json
中添加以下配置:
{
"typescriptLinter.autoCheck": true,
"typescriptLinter.rules": {
"maxLineLength": 200,
"indentSize": 4
}
}
您可以为不同的项目设置不同的规则配置:
- 在项目根目录创建
.vscode
文件夹 - 在该文件夹中创建
settings.json
文件 - 添加上述配置,根据项目需要调整规则
如果您想禁用某些规则,可以在VSCode的设置中进行配置。例如,要禁用引号风格检查,请在settings.json
中添加以下配置:
{
"typescriptLinter.rules": {
"quotes": false
}
}
这将覆盖扩展的默认配置,并禁用引号风格检查。您也可以使用相同的方法禁用其他规则。
某些规则支持自定义值:
{
"typescriptLinter.rules": {
"maxLineLength": 200,
"indentSize": 4
}
}
扩展提供以下命令,可以通过命令面板(Ctrl+Shift+P)访问:
TypeScript Linter: 检查当前文件
- 手动检查当前文件
确保:
- 文件扩展名为
.ts
或.tsx
- 文件语言模式设置为 TypeScript
typescriptLinter.autoCheck
设置为true
您可以在项目的 .vscode/settings.json
中禁用或自定义特定规则,如上述"禁用特定规则"和"自定义规则值"部分所示。
该扩展采用模块化设计,您可以通过以下步骤添加自定义规则:
- 在
src/rules
目录下创建新的规则文件 - 实现
Rule
接口 - 在
src/rules/ruleRegistry.ts
中注册新规则 - 在
package.json
中添加规则配置
该扩展采用模块化设计,可以轻松添加新的规则。如果您想添加自定义规则,可以参考现有规则的实现方式。
欢迎提交问题报告和功能请求!如果您想贡献代码,请先创建一个 issue 讨论您的想法。
MIT
纯AI生成