Laravel Extra Intellisense 项目教程
1. 项目的目录结构及介绍
vscode-laravel-extra-intellisense/
├── dist/
│ └── extension.js
├── images/
│ └── icon.png
├── package.json
└── README.md
- dist/: 包含扩展的主要 JavaScript 文件
extension.js
,这是扩展的核心代码。 - images/: 包含扩展的图标文件
icon.png
。 - package.json: 项目的配置文件,定义了扩展的元数据、依赖项、启动事件等。
- README.md: 项目的说明文档,通常包含项目的简介、安装步骤、使用说明等。
2. 项目的启动文件介绍
项目的启动文件是 dist/extension.js
。这个文件是扩展的核心代码,负责在 Visual Studio Code 中提供 Laravel 项目的智能提示功能。具体功能包括:
- 自动完成路由名称和路由参数
- 自动完成视图和变量
- 自动完成配置文件
- 自动完成翻译和翻译参数
- 自动完成 Laravel Mix 函数
- 自动完成验证规则
- 自动完成视图部分和堆栈
- 自动完成环境变量
- 自动完成路由中间件
- 自动完成资产
- 自动完成模型属性(Beta)
- 自动完成 Blade 指令
3. 项目的配置文件介绍
项目的配置文件是 package.json
,它定义了扩展的元数据、依赖项、启动事件等。以下是 package.json
中的一些关键配置项:
{
"name": "laravel-extra-intellisense",
"displayName": "Laravel Extra Intellisense",
"description": "better intellisense for laravel projects",
"version": "0.6.6",
"publisher": "amiralizadeh9480",
"icon": "images/icon.png",
"engines": {
"vscode": "^1.83.0"
},
"categories": [
"Languages"
],
"activationEvents": [
"onLanguage:php",
"onLanguage:blade"
],
"repository": {
"type": "git",
"url": "https://github.com/amir9480/vscode-laravel-extra-intellisense"
},
"main": "./dist/extension.js",
"contributes": {
"configuration": {
"title": "Laravel Extra Intellisense",
"type": "object",
"properties": {
"LaravelExtraIntellisense.customValidationRules": {
"type": "object",
"default": [],
"description": "Custom validation rules snippets"
},
"LaravelExtraIntellisense.viewDirectorySeparator": {
"type": "string",
"default": "/",
"description": "Directory separator for views"
},
"LaravelExtraIntellisense.phpCommand": {
"type": "string",
"default": "php -r \"[code]\"",
"description": "PHP Command using to run PHP codes"
},
"LaravelExtraIntellisense.basePath": {
"type": "string",
"description": "Base path using to read files"
},
"LaravelExtraIntellisense.basePathForCode": {
"type": "string",
"description": "This base path using for require_once inside PHP code"
},
"LaravelExtraIntellisense.modelsPaths": {
"type": "array",
"description": "Paths to Laravel models"
}
}
}
}
}
- name: 扩展的名称。
- displayName: 扩展的显示名称。
- description: 扩展的描述。
- version: 扩展的版本号。
- publisher: 扩展的发布者。
- icon: 扩展的图标路径。
- engines: 扩展支持的 Visual Studio Code 版本。
- categories: 扩展的分类。
- activationEvents: 扩展的激活事件,这里是在 PHP 和 Blade 文件打开时激活。
- repository: 扩展的代码仓库地址。
- main: 扩展的主入口文件。
- contributes: 扩展的贡献点,包括配置项。
这些配置项允许用户自定义扩展的行为,例如自定义验证规则、视图目录分隔符、PHP 命令等。