当前位置: 首页 > 知识库问答 >
问题:

使用React-Synred-Highlight启用换行?

夏侯楷
2023-03-14

当我将降价文件渲染为超文本标记语言时,我正在使用React语法荧光笔突出显示代码。

我看到我必须将wrapLines设置为true,以便每行都有一个spans父级。但是,我对应该传递给lineProps什么来启用换行感到困惑?

例如,您可以查看此屏幕截图。

我也想保留行号。

非常感谢您的帮助!

共有3个答案

元胡媚
2023-03-14

根据 https://www.npmjs.com/package/react-syntax-highlighter 文档,您可以使用:

lineProps-如果wrapLines为true,则要传递给包装每行的span的props。可以是一个对象或函数,它接收当前行号作为参数并返回props对象

试试这个:

<SyntaxHighlighter
  lineProps={{style: {paddingBottom: 8}}}
  wrapLines={true}
  showLineNumbers={true}
</SyntaxHighlighter>

沙盒片段 : https://codesandbox.io/s/syntax-highlighter-demo-skhkw

戚峻
2023-03-14

这对我来说也真的很困惑。

wrapLines不是以预定义的长度或容器宽度包装代码行。

它是围绕包含DOM元素的每一行(在DOM元素中“包装”该行)。

我想这个选项的名字应该改一下。

  • 原刊:https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/44
  • 拉取请求:https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/46
孟新知
2023-03-14

更新:从react syntax highlighter14.0.0开始,您可以使用propwrapLongLines将行包装到下一行。请参见此处的详细信息。

对于14之前的版本:以下是对我有用的方法 -

<SyntaxHighlighter
  lineProps={{style: {wordBreak: 'break-all', whiteSpace: 'pre-wrap'}}}
  wrapLines={true} 
  language="jsx" 
  style={a11yDark}
>
 类似资料:
  • 描述 (Description) Highlight效果可以与effect()方法一起使用。 这会突出显示元素背景的特定颜色,默认为黄色。 语法 (Syntax) 以下是使用此效果的简单语法 - <i>selector</i>.effect( "highlight", {arguments}, speed ); 参数 (Parameters) 以下是所有论点的描述 - color - 突出显示颜

  • Highlight 用于将源码输出为语法高亮的格式文件: 支持输出为HTML, XHTML, RTF, ODT, TeX, LaTeX, SVG 和 BBCode格式 支持180种编程语言 包含80种着色风格 语法定义方式为正则表达式或文本列表 自定义关键词分组 识别语言内嵌套的其他语言 支持格式化C, C++, C# 和 Java代码(通过AStyle实现) 语言定义和主题风格都是用的Lua脚本

  • Categories: Effects Description: 高亮特效通过先动画呈现元素的背景颜色来隐藏或显示一个元素。 highlight color (default: "#ffff99")Type: String动画执行时的背景颜色。 Example: 使用高亮特效切换显示div。 <!doctype html> <html lang="en"> <head> <meta chars

  • PH-Highlight 是一个JavaScript库,用来在网页上友好的显示各种编程代码,使用非常简单,无需依赖独立的css文件,当前支持6种编程语言包括:C、Java、Python、Perl、Haskell 和 JavaScript。而且想要支持别的语言也是相当容易的可进行扩展。主要的功能是语法着色,代码伸缩,以及可在一个弹出式窗口中显示等。

  • 当是基本类型时,我试图使用SFINAE重载以返回一个副本,当是一个类时,我试图重载一个常量引用。 在我下面的示例中,当使用时,我无法删除第二个重载(使用)。 也就是说,我得到的错误是: 我做错了什么?

  • Source-highlight-qt 是一个C++的UI库,用在 Qt 编程环境中提供具备语法着色的源码编辑控件。