戏里戏外

初始化 VSCode 进行 Laravel 开发

2025-01-14#MacOS

安装 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 主题

配置设置

  1. 打开 VSCode 设置 (Mac: Cmd+, / Windows: Ctrl+,)

  2. 推荐的工作区设置:

{
    "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);",
			"}"
		],
	}
}