安装 VSCode
从 Visual Studio Code 官网 下载最新版本。
或者使用 brew
命令安装:
brew install --cask visual-studio-code
推荐的扩展插件
为了更好地进行 Laravel 开发,建议安装以下扩展:
必备扩展
扩展名称 | 描述 |
---|---|
PHP Intelephense | PHP 代码智能提示与补全 |
Laravel(Beta) | Laravel 开发必备 |
Laravel Pint | Laravel 代码风格检查 |
Laravel Extra Intellisense | Laravel 智能代码提示 |
Laravel-goto-components | 快速跳转到 Blade 组件 |
Laravel Artisan | 在 VSCode 中运行 Artisan 命令 |
Laravel Blade formatter | Blade 模板格式化 |
可选扩展
扩展名称 | 描述 |
---|---|
Vue - Official | Vue 开发必备 |
Nuxt Extension Pack | Nuxt 开发必备 |
JetBrains IDE Keymap | JetBrains 快捷键映射 |
Markdown All in One | Markdown 语法高亮 |
Markdown Table Prettifier | Markdown 表格格式化 |
Auto Rename Tag | 自动重命名 HTML 标签 |
Highlight Matching Tag | 高亮匹配的 HTML 标签 |
IntelliSense for CSS class names in HTML | 在 HTML 中智能提示 CSS 类名 |
Tailwind CSS IntelliSense | Tailwind CSS 智能提示 |
EditorConfig for VS Code | 统一代码风格 |
DotENV | .env 文件语法高亮 |
Vim | 使用 Vim 快捷键 |
One Dark Pro | One Dark Pro 主题 |
配置设置
-
打开 VSCode 设置 (Mac:
Cmd+,
/ Windows:Ctrl+,
) -
推荐的工作区设置:
{
"editor.fontSize": 14,
"Laravel.phpEnvironment": "herd",
"editor.formatOnSave": true,
"terminal.integrated.defaultProfile.osx": "zsh",
"workbench.colorTheme": "One Dark Pro Darker",
"workbench.settings.applyToAllProfiles": [
"editor.fontSize"
],
"window.nativeTabs": true,
"files.autoSave": "afterDelay"
}
自定义代码片段
下面是在 PHP 中常使用的自定义代码片段:
-
pubf
- 创建公共函数 -
protf
- 创建受保护函数 -
prif
- 创建私有函数 -
pubsf
- 创建静态公共函数 -
protsf
- 创建静态受保护函数 -
prisf
- 创建静态私有函数 -
belongs
- 创建带有belongsTo
的公共函数 -
hasmany
- 创建带有hasMany
的公共函数
具体配置如下:
{
"Create public function": {
"prefix": "pubf",
"body": [
"public function ${1:functionName}($2) {",
"\t$3",
"}"
],
"description": "Create publ ic function",
},
"Create protected function": {
"prefix": "protf",
"body": [
"protected function ${1:functionName}($2) {",
"\t$3",
"}"
],
"description": "Create protected function",
},
"Create private function": {
"prefix": "prif",
"body": [
"private function ${1:functionName}($2) {",
"\t$3",
"}"
],
"description": "Create private function",
},
"Create public static function": {
"prefix": "pubsf",
"body": [
"public static function ${1:functionName}($2) {",
"\t$3",
"}"
],
"description": "Create static public function",
},
"Create protected static function": {
"prefix": "protsf",
"body": [
"protected static function ${1:functionName}($2) {",
"\t$3",
"}"
],
"description": "Create static protected function",
},
"Create private static function": {
"prefix": "prisf",
"body": [
"private static function ${1:functionName}($2) {",
"\t$3",
"}"
],
"description": "Create static private function",
},
"Create public function with belongsTo": {
"prefix": "belongs",
"body": [
"public function ${1:functionName}() {",
"\treturn \\$this->belongsTo(${2:ModelName}::class);",
"}"
],
"description": "Create public function with belongsTo",
},
"Create public function with many": {
"prefix": "hasmany",
"body": [
"public function ${1:functionName}() {",
"\treturn \\$this->hasMany(${2:ModelName}::class);",
"}"
],
}
}