vscode-ruby-rubocop 项目使用教程
1. 项目的目录结构及介绍
vscode-ruby-rubocop/
├── .vscode/
│ ├── extensions.json
│ └── settings.json
├── src/
│ ├── extension.ts
│ └── ...
├── .gitignore
├── .vscodeignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── package.json
├── tsconfig.json
└── yarn.lock
目录结构介绍
- .vscode/: 包含 VSCode 的配置文件,如
extensions.json
和settings.json
。 - src/: 项目的源代码目录,包含主要的 TypeScript 文件,如
extension.ts
。 - .gitignore: 指定 Git 忽略的文件和目录。
- .vscodeignore: 指定 VSCode 忽略的文件和目录。
- CHANGELOG.md: 记录项目的更新日志。
- LICENSE: 项目的开源许可证。
- README.md: 项目的介绍和使用说明。
- package.json: 项目的依赖和脚本配置文件。
- tsconfig.json: TypeScript 的配置文件。
- yarn.lock: 锁定依赖版本的文件。
2. 项目的启动文件介绍
src/extension.ts
这是项目的启动文件,主要负责扩展的初始化和功能实现。以下是文件的主要内容:
import * as vscode from 'vscode';
import { RuboCop } from './rubocop';
export function activate(context: vscode.ExtensionContext) {
const rubocop = new RuboCop();
context.subscriptions.push(rubocop);
}
export function deactivate() {
// 扩展停用时的处理逻辑
}
功能介绍
- activate: 当扩展被激活时调用,初始化 RuboCop 实例并注册到 VSCode 的上下文中。
- deactivate: 当扩展被停用时调用,执行清理操作。
3. 项目的配置文件介绍
package.json
这是项目的核心配置文件,包含了扩展的元数据、依赖项和脚本等信息。以下是部分关键配置:
{
"name": "vscode-ruby-rubocop",
"displayName": "Ruby RuboCop",
"description": "RuboCop for Visual Studio Code",
"version": "1.0.0",
"publisher": "misogi",
"engines": {
"vscode": "^1.50.0"
},
"categories": [
"Linters"
],
"activationEvents": [
"onLanguage:ruby"
],
"main": "./src/extension.ts",
"contributes": {
"commands": [
{
"command": "ruby.lintByRubocop",
"title": "Ruby: lint by rubocop"
}
]
},
"scripts": {
"vscode:prepublish": "yarn run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"postinstall": "node ./node_modules/vscode/bin/install",
"test": "yarn run compile && node ./node_modules/vscode/bin/test"
},
"devDependencies": {
"typescript": "^4.0.2",
"vscode": "^1.1.37"
}
}
配置项介绍
- name: 扩展的名称。
- displayName: 扩展的显示名称。
- description: 扩展的描述。
- version: 扩展的版本号。
- publisher: 扩展的发布者。
- engines: 扩展支持的 VSCode 版本。
- categories: 扩展的分类。
- activationEvents: 扩展的激活事件,如
onLanguage:ruby
表示在 Ruby 文件打开时激活。 - main: 扩展的入口文件。
- contributes: 扩展的贡献点,如命令
ruby.lintByRubocop
。 - scripts: 扩展的脚本,如编译、测试等。
- devDependencies: 开发依赖项。
通过以上配置,可以了解如何启动和配置 vscode-ruby-rubocop
扩展,并根据需要进行自定义。