是否可以在Notepad ++中基于分隔符突出显示语法?

时间:2014-03-12 14:38:14

标签: notepad++ syntax-highlighting

我们使用的其中一个应用程序在文件中吐出所有字符串(用于本地化目的),其中每行都是这样的 -

STRING_KEY[tab]the string[tab]comment[CRLF]

是否可以使用Notepad ++(或可能是其他文本编辑器)根据选项卡的位置突出显示该行的不同部分?我试图使用N ++的自定义语言定义功能,但它似乎更专注于突出显示关键字和注释块以及我正在尝试做的事情。

2 个答案:

答案 0 :(得分:0)

如果文件格式为CSV,则答案在N ++中为否。(请参阅"更新"以下替代方案。)用户定义语言的可用语法高亮显示器是面向的用计算机语言突出显示。这些通常不遵循您的任务所需的模式。正如上述评论者所建议的那样,您应该检查专用的CSV编辑器或Microsoft Excel(它有一些与CSV编辑有关的缺陷 - 比如在看起来像数字的值中剥离初始零点。)


<强>更新 以下提示可以帮助编辑CSV的棘手部分,尤其是引用的字符串。也可以用各种颜色(取决于它们的顺序)实现突出显示或各种列,但我不确定你是否还需要它。

虽然在N ++词法分析器中无法实现正确的引用匹配("Test string"""上的失败),但在Notepad ++&#34; cousin&#34;中很容易实现CSV词法分析器。名为SynWrite,具有先进的词法分析能力。

示例:(引用的字符串具有单独的样式 - 注意多行字符串和内部引号)

enter image description here

步骤:

  1. 创建新的词法分析器(菜单选项&gt; 自定义词法分析器库...

  2. 切换到新的词法分析器(菜单查看&gt; Lexer

  3. 自定义新的词法分析器(菜单选项&gt; 自定义词法分析器...

  4. 样式标签上,添加新样式StringSeparator,在列表下方重命名并自定义颜色

  5. Parser 标签上,添加项String

    • 令牌类型:String
    • 令牌样式:String(您添加的那个)
    • 正则表达式:"(""|[^"])*"
  6. Parser 标签上,添加项Separator

    • 令牌类型:Symbol
    • 令牌样式:Separator(您添加的那个)
    • 正则表达式:,(或;\t(标签)...您在CSV中使用的任何内容)
  7. 确认更改,你应该去。

答案 1 :(得分:0)

在这种情况下,它不是那么有用,所以它不是直接的答案,但是我发现它在NPP中非常有用,并且更容易,只需为CSV文件选择“ Python”或某种类似的语言即可。

磅(又名尖)将代码标记为注释,将数字标记为常量,将带引号的文本标记为字符串。

它远非完美,但它确实胜过盯着无法解释的白色到黑色。常常是我真正需要的。

还提醒您:NPP可以轻松地将制表符分隔的文件转换为其他定界符,然后再转换回,因此有时只需进行快速的临时编辑就可以使事情很多。

最后,壮丽 TextFX插件,这至少是我使用NPP的原因的49%,它可以处理“文本”问题。如果您还没有使用过该插件,那么您将不知道所缺少的内容(按字面意思看,是吧)。