2

我想很多使用 Dreamweaver 作为 Laravel Blade 文本编辑器的人都会面临代码/语法着色不受支持的问题。没有代码着色,代码很难阅读。因此,我决定在 Dreamweaver 上做一些“hacking”,以使用 Laravel Blade 进行代码着色。

为此,您需要转到 C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS6\configuration\CodeColoring 文件夹。然后,编辑 php.xml 文件。

在 CodeColor_PHPScriptBlock 下添加以下内容

<blockStart doctypes="PHP_MySQL" scheme="customText"><![CDATA[{{]]></blockStart>
<blockEnd><![CDATA[}}]]></blockEnd>
<blockStart doctypes="PHP_MySQL" scheme="customText"><![CDATA[{{{]]></blockStart>
<blockEnd><![CDATA[}}}]]></blockEnd>

然后,在 CodeColor_PHPScriptComment 下添加以下内容

<commentStart><![CDATA[--]]></commentStart>
<commentEnd><![CDATA[--]]></commentEnd>

现在,您应该可以使代码着色和代码提示正常工作。

但是,我仍然无法在 Dreamweaver 中获得 Blade 语法着色作品。以下是仍然无效的语法:

@section
@show
@yield
@extends
@parent
@stop
@if
@elseif
@else
@endif
@unless
@endunless
@for
@endfor
@foreach
@endforeach
@while
@endwhile
@include
@overwrite
@lang
@choice

如果您知道如何在 Dreamweaver 中获得上述语法着色作品,请与我分享。谢谢。

4

1 回答 1

0

也许使用 @ 作为 blockStart 和 ) 作为 blockEnd。问题是跟踪左括号和右括号。

这是这里的基本概念,位于 github.com/Medalink/laravel-blade (laravel-blade.tmLanguage):

<key>foldingStartMarker</key>
<string>\@\b(section)\b(?=(|\s*|)\()</string>
<key>foldingStopMarker</key>
<string>\)(?!.*\))</string>
于 2014-08-13T20:02:42.767 回答