首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sublime Text 2 JSP语法突出显示问题

Sublime Text 2 JSP语法突出显示问题
EN

Stack Overflow用户
提问于 2012-09-29 00:21:04
回答 1查看 3.6K关注 0票数 5

我对Sublime Text 2中JSP页面的内置语法突出显示有一些问题。

请参见第11/12行白线后的代码:这里正确显示了HTML标记<strong>

这一行之前的代码颜色不正确:第二个JSP结束标记(%>)是红色的,但应该像第一个一样是橙色的,而且我认为其中的标记被识别为Java代码,尽管作用域(在CTRL+SHIFT+ALT+P中显示为text.html.jsp)没有改变。

如果我对<?php<?开始标记和?>结束标记执行相同的操作,那么问题就不存在了,所有的颜色似乎都是正确的。

有没有人有同样的问题?我确保语法设置为JavaServerPages (JSP)。

我认为问题与HTML.tmLanguage文件中的这些行有关(JSP范围在HTML范围内):

代码语言:javascript
复制
<dict>
    <key>embedded-code</key>
    <dict>
        <key>patterns</key>
        <array>
            <dict>
                <key>include</key>
                <string>#ruby</string>
            </dict>
            <dict>
                <key>include</key>
                <string>#php</string>
            </dict>
            <!--
            <dict>
                <key>include</key>
                <string>#smarty</string>
            </dict>
            -->
            <dict>
                <key>include</key>
                <string>#python</string>
            </dict>
        </array>
    </dict>

没有包含JSP。但我只是猜想...有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-03 01:48:29

我现在设法编辑了HTML.tmLanguageJava Server Pages (JSP).tmLanguage文件...ruby的一些匹配项覆盖了HTML标记中的<script>作用域,我删除了花括号的匹配项,另外,我在一些作用域定义中添加了一些text.html.jsp包含。

我复制了我的.tmTheme文件,并将其作为User.tmTheme放入User包文件夹。然后,我将以下几行添加到此文件的底部:

代码语言:javascript
复制
    <dict>
        <key>name</key>
        <string>Embedded Code Punctuation</string>
        <key>scope</key>
        <string>punctuation.section.embedded</string>
        <key>settings</key>
        <dict>
            <key>fontStyle</key>
            <string>bold</string>
            <key>foreground</key>
            <string>#FD971F</string>
        </dict>
    </dict>
    <dict>
        <key>name</key>
        <string>Embedded Java Code Directive</string>
        <key>scope</key>
        <string>punctuation.section.directive</string>
        <key>settings</key>
        <dict>
            <key>foreground</key>
            <string>#FD971F</string>
        </dict>
    </dict>
    <dict>
        <key>name</key>
        <string>Embedded Java Code</string>
        <key>scope</key>
        <string>source.java.embedded.html</string>
        <key>settings</key>
        <dict>
            <key>foreground</key>
            <string>#F8F8F2</string>
        </dict>
    </dict>
    <dict>
        <key>name</key>
        <string>Embedded Java Code String</string>
        <key>scope</key>
        <string>string.quoted.double.java</string>
        <key>settings</key>
        <dict>
            <key>foreground</key>
            <string>#E6DB74</string>
        </dict>
    </dict>

然后,我编辑了文件夹HTMLJava中的这两个文件,并注释掉了一些ruby include和内容。

请参阅此处的文件:

HTML.tmLanguage

Java Server Pages (JSP).tmLanguage

JavaScript.tmLanguage

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12643749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档