笔记本中的“codemirror_mode”键是什么以及如何自定义?

问题描述 投票:0回答:1

我正在为 Jupyter 笔记本输出和元数据编写一个 git 过滤器,我想了解有关

metadata.language_info.codemirror_mode
键的更多信息,以便我可以就如何在过滤器中处理它做出明智的决定。一个好的答案会解释...

  • 笔记本如何使用这个值
  • 可以设置什么有效值(一些示例)

相关元问题:“[事物]做什么”问题可以问到什么程度?

到目前为止我发现了什么

  • nbformat 文档具有以下描述:“要使用的代码镜像模式的名称[可选]”。这并没有说明可能的名称......

  • 上面的页面链接到Jupyter Notebook 格式的官方 JSON 模式,其中包含以下内容:

    "codemirror_mode": {
      "description": "The codemirror mode to use for code in this language.",
      "oneOf": [{ "type": "string" }, { "type": "object" }]
    }
    

    不确定

    string
    object
    应该是什么...

  • 搜索“codemirror”让我找到CodeMirror 用户手册和参考指南,这就是关于模式的内容

    mode (string or object)

    这个很配!太棒了!

    要使用的模式。如果没有给出,这将默认为加载的第一个模式。它可以是一个字符串,它可以简单地命名模式,也可以是与模式关联的 MIME 类型。或者,它可能是包含模式配置选项的对象,具有命名模式的 name 属性(例如 {name: "javascript", json: true})。每种模式的演示页面包含有关该模式支持的配置参数的信息。您可以询问 CodeMirror 使用 CodeMirror.listModes 和 CodeMirror.listMIMEs 函数加载了哪些模式和 MIME 类型。

仍然不确定到底什么是允许的以及它如何影响笔记本电脑。

jupyter-notebook jupyter nbformat
1个回答
0
投票
Jupyter 笔记本中的

codemirror_mode

用于语法突出显示:它根据语言或格式确定代码的各种元素(如关键字、字符串、注释)的样式(颜色、字体等)。 它通过提供特定于语言的功能(例如自动缩进、括号匹配和代码折叠)来协助代码编辑。

codemirror_mode

 的有效值为这两个值之一:

  • String:一个简单的字符串,用于命名模式或指定与模式关联的 MIME 类型。 示例:
    "python"

    "text/x-c++src"
    "application/json"
    (请参阅“
    CodeMirror 语言模式”)。

  • Object:具有模式配置选项的对象,包括命名模式和其他可选设置的 name

     属性。
    示例:
    {name: "javascript", json: true}
     用于 JavaScript 中的 JSON 数据。

它如何影响笔记本电脑:

    设置特定的
  • codemirror_mode
     时,它会根据指定的语言或格式定制代码单元的行为,从而提高可读性和易于编码。
  • 它不影响代码的执行,只是增强了用户界面和交互。
© www.soinside.com 2019 - 2024. All rights reserved.