在Notepad ++中显示不匹配的html标签

时间:2012-01-05 14:24:54

标签: html notepad++

有没有办法在Notepad ++中突出显示不匹配的HTML标签?

例如,如果我有以下HTML ...

<HTML>
<!--Server: <%=(java.net.InetAddress.getLocalHost()).getHostName()%>-->
<HEAD>
   <TITLE>Vital Stats</TITLE>
   <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
   <SCRIPT SRC="vital_stats.js" TYPE="text/javascript"></SCRIPT>
   <LINK REL="STYLESHEET" HREF="../main.css">
</HTML>

我希望以某种方式突出显示<HEAD>标记,以表明它没有相应的</HEAD>标记。

我还希望看到突出显示的任何结束标记没有相应的开始标记。

修改

我已经了解了Notepad ++点击标签以查看相应标签的功能。我想要突出显示ENTIRE文档中不匹配的任何标记。即使有一些我可以运行的实用程序/插件,我会列出任何不匹配标签的行号和名称会有所帮助。

4 个答案:

答案 0 :(得分:4)

我已经请求某人开发插件,以便在https://sourceforge.net/projects/notepad-plus/forums/forum/331753/topic/4936812

的Notepad ++中执行此操作

直到发生这种情况,似乎无法在Notepad ++中完成。

答案 1 :(得分:2)

突出显示。点击标签,您可以看到:

  1. 突出显示对开关的标签(紫罗兰色)。没有对的标签不会突出显示。

  2. 边距上还有红线表示结束标记。如果没有结束标记,您可以看到它无处可去。

  3. 下面是图片 - 首先显示有效情况,第二个 - 无效。

    (我的Notepad ++版本在Windows上为5.9.5,选择的语言为HTML)

    Valid situation

    Invalid situation

答案 2 :(得分:2)

对于我正在处理的大文件,我找到额外/缺少div的解决方法是将文件的副本重命名为file.java。然后用{。

替换“/ div”和}和“div”

答案 3 :(得分:0)

可能永远不会有这样的插件。原因是有效代码中的匹配标签(或块的开头和结尾)是明确的,但是在无效环境中,例如缺少匹配标签,则没有“伙伴”(和合作伙伴位置)的标签是不明确的。例如,如果您具有以下构造:

<div>
     <div>
          Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
          <div>
            Quisque auctor ligula vitae magna egestas
        </div>
     Sed vulputate nunc eu vehicula vestibulum. 
  </div>

很难说,哪个div是未关闭的,哪个代码真正属于哪个块。 npp中默认的标记高亮显示只是假设最近关闭的标记属于最后打开的标记。但这只是一个疯狂的猜测,它有助于手动检查该块是否正确,然后将其折叠以检查下一个外部块,直到找到融合的块。因此,如果存在不匹配的标签并没有假定可能是错误的“解决方案”,则唯一可以提示的真实指标就是仅计算打开和关闭的标签。该here using regex有一个非npp解决方案。您可能为此使用了AnalysePlugin,或使用内置的搜索/计数功能。