RaV*_*RaV 2 ide intellisense autocomplete laravel visual-studio-code
我正在寻找与Laravel .NET中的Intellisense类似的东西。到目前为止,我一直在使用.NET,并且模型的自动补全功能非常出色,并使我的工作更加轻松。
现在我需要创建Laravel应用程序,我一直在遵循本教程来准备我的环境,但是我获得的唯一自动完成功能是默认的PHP函数和一些预定义的方法(例如- SaveSessionListener从Symfony\Component\HttpKernel\EventListener-我什至没有在任何地方使用Symfony)。
我想要实现的是从模型获得自动补全功能,例如Laravel中有一个名为Model的类,我有扩展Model的Page类。
use App/Page
$home = new Page();
$home->content = "lorem ipsum";
$home->save();
Run Code Online (Sandbox Code Playgroud)
当我编写$home->,no content,no save(),只有一些随机函数时,我没有任何完成。我能理解为什么不存在content自动补全功能-它没有直接写成代码,但是它写在数据库和对象数据库引擎上却在解析那个,我还不知道怎么做,但是我不明白为什么甚至save()没有不会自动补全。
我试图用谷歌搜索这个问题,但是没有任何好的结果。
我弄清楚了如何使其与Visual Studio Code一起使用。
首先也是最重要的一点是,链接变体为我提供了评论: laravel-ide-helper
我只是关注了文档并生成了基本的帮助程序+模型帮助程序。我猜以后我将自动执行这些生成命令,它也解释了如何在文档中进行操作。
第二件事是它仅适用于: PHP Intelephense插件 请注意,您必须先重置VSC,然后它才能真正起作用。
我做的第三件事 -VSC具有内置的php自动完成功能,这很烦人,因为它开始向我显示建议中的模型字段,但它介于其他数十条建议之间。要禁用内置自动完成功能,我在用户设置中添加了以下行:
"php.suggest.basic": false,
Run Code Online (Sandbox Code Playgroud)
我做的最后一件事 -我已将代码段移到建议框的底部,以清除自动完成的结果:
"editor.snippetSuggestions": "bottom"
Run Code Online (Sandbox Code Playgroud)
而且,作为Laravel编程环境,它确实很不错。
我使用PHP Doc进行字段定义,如下例所示:
namespace App\Models;
use App\Enums\MediaType;
use App\Models\Commons\BaseModel;
use DateTime;
/**
* Famous Media.
*
* @property int $id
* @property int $famous_id
* @property MediaType $type
* @property string $url
* @property int $position
* @property DateTime $created_at
* @property DateTime $updated_at
*/
class FamousMedia extends BaseModel
{
const TABLE = 'famous_medias';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'type',
'url',
'position',
'famous_id',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'famous_id',
'deleted_at',
'created_at',
'updated_at',
];
public function famous()
{
return $this->hasOne(Famous::class, 'famous_id');
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2887 次 |
| 最近记录: |