定制 chrisreedio/filament-monaco-editor 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

chrisreedio/filament-monaco-editor

Composer 安装命令:

composer require chrisreedio/filament-monaco-editor

包简介

This is my package filament-monaco-editor

README 文档

README

Filament v5 form field integration for Monaco Editor, including dedicated Blade syntax highlighting.

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Compatibility

  • PHP ^8.2
  • Filament 5.x

Installation

composer require chrisreedio/filament-monaco-editor

Run the package build to generate frontend assets:

cd vendor/chrisreedio/filament-monaco-editor
npm install
npm run build

Publish package config and views (optional):

php artisan vendor:publish --tag="filament-monaco-editor-config"
php artisan vendor:publish --tag="filament-monaco-editor-views"
php artisan filament:assets

Usage

Use the field directly in your form schema:

use ChrisReedIO\MonacoEditor\Forms\Components\MonacoCodeEditor;

MonacoCodeEditor::make('template')
    ->language('blade')
    ->theme('vs-dark')
    ->height('24rem')
    ->options([
        'tabSize' => 2,
        'insertSpaces' => true,
    ]);

Blade, PHP, and custom heights:

MonacoCodeEditor::make('blade_view')
    ->language('blade')
    ->theme('vs-dark');

MonacoCodeEditor::make('php_code')
    ->language('php')
    ->theme('vs-light')
    ->minHeight(320)
    ->readonly();

You can also use the package entrypoint facade for concise creation:

use MonacoEditor;

MonacoEditor::blade('blade_view')->height('20rem');
MonacoEditor::php('php_payload')->readonly();

Fluent API

  • language(string $language)
  • theme(string $theme)
  • minHeight(string|int $height) / height(string|int $height)
  • readonly(bool $condition = true)
  • options(array $options) (merged into the final Monaco options)
  • getConfig() / getMonacoConfig() for Alpine payload

Configuration

Publish and customize config/monaco-editor.php:

return [
    'default_language' => 'blade',
    'default_theme' => 'vs-dark',
    'default_min_height' => '16rem',
    'defaults' => [
        'fontSize' => 14,
        'lineNumbers' => 'on',
        'scrollBeyondLastLine' => false,
        'minimap' => ['enabled' => false],
    ],
    'blade' => [
        'keywords' => [
            'if', 'elseif', 'else', 'endif', 'foreach', 'endforeach',
            'for', 'endfor', 'while', 'endwhile', 'php', 'endphp', 'csrf',
            'method', 'can', 'endcan', 'auth', 'guest', 'unless', 'endunless',
        ],
        'directives' => [
            'if',
            'elseif',
            'else',
            'endif',
            'foreach',
            'endforeach',
            'section',
            'endsection',
        ],
        'patterns' => [
            ['/\$[A-Za-z_][A-Za-z0-9_]*/', 'variable'],
        ],
        'delimiters' => [
            'output' => ['{{', '}}'],
            'raw' => ['{!!', '!!}'],
            'comment' => ['{{--', '--}}'],
        ],
    ],
];

Blade highlighting

  • blade language is registered only when language('blade') is used.
  • Tokens include output/raw/comment delimiters and directives (@if, @foreach, etc.).
  • You can add custom syntax patterns via blade.patterns.

Build artifacts consumed by Filament

  • resources/dist/components/monaco-code-editor.js
  • resources/dist/monaco-code-editor.css

The package service provider wires these assets through Filament Asset registration and script data.

Development

npm run build
composer test

Credits

  • Chris Reed
  • Inspired by the broader Monaco ecosystem

License

This package is released under the MIT license.

chrisreedio/filament-monaco-editor 适用场景与选型建议

chrisreedio/filament-monaco-editor 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 6 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 16 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「laravel」 「filament」 「filament-plugin」 「filamentphp」 「filament-monaco-editor」 「chrisreedio」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 chrisreedio/filament-monaco-editor 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 chrisreedio/filament-monaco-editor 我们能提供哪些服务?
定制开发 / 二次开发

基于 chrisreedio/filament-monaco-editor 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 21
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-16