8
我正在使用实现文件扩展名的JSONL(“JSON 行”).jsonl文件,因此;我想知道当编辑器在技术上不支持文件类型时,是否有办法为VS Code添加支持jsonl(例如“JSON-Lines”)?

我在想是否有可能在VS Code中添加支持?

这里建议,人们应该搜索一个扩展来添加对JSON Lines ( .jsonl) 文件的编辑器的支持(根据建议),但是,令我沮丧的是.jsonl,在创作这个问题。

我还在 Marketplace 中搜索了“JSON Lines”和“ .jsonl”,再一次,搜索没有返回任何有用的结果。

4

1 回答 1

6

2021-JULY-21st @ 04:08 UTC — 编辑:“添加了另一个可能的解决方案”

支持不受支持的文件类型的可能解决方案


在回答另一个关于“VS Code 中的语言支持”的问题时,我想起了这个“问答”中的问题,我意识到有一个可能有效的解决方案。如果作者还没有找到解决方案,那么我建议他们尝试一下,如果其他人偶然发现这个问题,希望增加对不受支持的语言的支持。

首先,如果您要添加的语言和/或文件类型是完全独特的,那么此解决方案将无法正常工作;如果您能够获得支持,它可能不是完全支持,或者它可能有其他问题。让我给你举个例子,以帮助你完全理解我想告诉你的是什么。

例子:


首先,让我向您展示解决方案的语法。这是 VS Codesettings.json文件中使用的设置——它可以放在用户的文件中,也可以放在工作区的settings.json文件实现中。
   // "./.vscode/settings.json"

   "files.associations": {
       "json": "jsonc"
   },

“假设,假设VS Code不支持JSONC文件类型 - 'JSON with Comments'。如果前面的陈述是真的,那不是,但如果是的话,那么这个解决方案可以工作,但是,如果你有 JSONC已经填充了数据的文件,那么你可能会得到错误,因为 JSONC 文件类型用于在 JSON 文件中实现注释,但是,VS Code 的 JSON 语言不支持注释,编辑器会为每个注释显示错误是在 JSONC 文档中,因为当您以这种方式配置编辑器时,VS 代码会将 JSONC 文件视为 JSON 文件。”



“在其他情况下使用此配置效果更好。由于我们已经用作JSONC示例,我将为您提供一个真实示例,其中文件关联设置用于支持.json(JSON) 文件中的注释 - 请记住,上面是一个假设的例子,这个是开发人员实践的实际例子。”
“向 JSON 文件添加注释既简单又快捷,使用文件关联设置,简单地从上面的代码块中反转配置,使设置配置看起来像下面的示例。如果您将配置输入到.vscode/settings.json文件中,您将发现当您向 JSON 文件添加评论时,VS Code 不会抱怨了。
    // "./.vscode/settings.json"  

    "files.associations": {
        "jsonc": "json"
    }, 
file.associations基本上,简而言之,使用文件关联 ( ) 设置,您可能,也可能无法获得一些支持,可能是有限支持,或者可能是完全支持。与为整个编程语言或数据文件类型添加对 VS Code 的支持相比,它很容易尝试,而且速度更快,工作量也少得多。

(编辑:2021 年 12 月 4 日)


我想在这里插入我一直在学习 C++ 课程,并CLang-format-12用于我的格式化程序。CLang-Format要求用户.clang-format在项目中实现一个文件来自定义配置CLang-format(如果你熟悉JS,就相当于一个.eslintrc文件ESLint)。有时 VS-Code 会自动检测文件为YAML格式,这是准确的,但是,有时它会检测到它是 python ???我不写 python,但语法中的某些东西对VSCode自动检测文件格式功能”来说似乎是 python'ishy ,有时它会将其检测为 MD,但它不是 Markdown 格式。它是YAML格式的,但从技术上讲,它不是一个YAML文档,但是,使用file.associations设置我能够准确地获得对文件的支持。

仅供参考,VSCode 实际上会尽力自行添加支持,并检测文件的格式,以及它可以访问的数据格式/编程语言语法将适用于您尝试使用的文件,但有时它需要一些帮助。正如我已经说过的,有时文件格式会起作用,但支持可能会受到限制,你总是需要告诉 VSCode 在支持受到限制时哪些文件类型可以工作。



2021 年 6 月 23 日 @ 22:45 UTC — 原始帖子

JSONL在 VS Code中支持的解决方案


JSONL没有人在 VSCode中创建对文件的支持。像你一样,我找不到为JSON行或JSONL文件添加语言支持的扩展。在 VSCode 中获得支持的唯一方法是将支持添加到 VSCode。VSCode 为其用户提供定义语言所需的工具。他们提供的工具与 MS VSCode 开发团队用来定义语言的工具相同,换句话说,它们都是很好的工具,你可以用它们做一些很酷的事情。如果它是一门完整的语言,这可能不值得考虑,但它不是,它只是对预先存在的数据类型的几个小添加。最困难的部分将是阅读 VSCode 文档以了解如何在 Extension Manifest 中使用 Contributes 属性,这只是一个美化package.json文件。

我知道没有人喜欢做额外的工作,特别是如果它比他们做的工作更多,但我向你保证,一旦你了解了 VSCode 扩展清单及其贡献属性的基础知识,再加上一点关于 TextMate 的工作原理,您可以在不到几个小时内完成您想做的事情。回报也是巨大的,学习如何制作 VSCode 扩展是我非常高兴做出的决定,我几乎每天都在使用这些知识。另外,这是您获得支持的唯一途径。



这里有几个很好的起点:


语言定义(VSCode 官方网站)
语法高亮(VSCode 官方网站)
贡献对象(VSCode 官方网站)
扩展清单(VSCode 官方网站)
TEXTMATE GRAMMARS DOCS(TextMate 官方网站)
VSCode 中的文本令牌/范围(VSCode 官方网站)



最后注:

您唯一的其他选择是向负责JSON Lines的人发送电子邮件,并询问他们建议使用什么编辑器,或者询问他们是否计划在未来添加对 VSCode 的支持。



于 2021-06-23T22:45:59.887 回答