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 扩展是我非常高兴做出的决定,我几乎每天都在使用这些知识。另外,这是您获得支持的唯一途径。
这里有几个很好的起点:
最后注:
您唯一的其他选择是向负责JSON Lines的人发送电子邮件,并询问他们建议使用什么编辑器,或者询问他们是否计划在未来添加对 VSCode 的支持。