i. 我非常希望看到这个功能也能实现。类似于其他人在这里和#27073中提到的,我对需要VSCode通过编程来推测解析结果的语言进行语法高亮不感兴趣,而且最终的语言指定也不应该从多个语言中选择一个,而是应用于结果的每个元素,即任何增强或扩展VSCode对文件中所有正确格式化代码的语法高亮能力的函数。其中,用于验证和高亮语法的language值既不是原子性的,也不是作为参数(或功能等效)提供给高亮语法过程的。相反,我只希望能够手动指定在文件中使用指定语言解析的子字符串,然后应用现有的语言扩展进行语法高亮。这些扩展的操作方式类似,但是它们与文件关联的语言不同,而是与某个子字符串对象关联。子字符串对象可以有多种定义方式。最糟糕的情况是与文件中位置相关的静态赋值(例如,由常量行和列坐标定义的开始和结束位置),但理想情况下,它应该是动态的——我设想的是类似于Wᴏʀᴅ中的Range对象的功能,依赖于根据多个参数评估边界动态的方法来提供可接受的常见、可预见的编辑5的容差范围,以便以符合合理用户期望的方式调整Range边界(在创建时强制为Range分配语言应该使相对容易跟踪边界的健壮函数成为可能)。最后,某种图形指示器会极大地提高可用性,例如一个大纲包围范围,鼠标悬停或光标位于范围内时显示,边界上有调整大小的手柄(使用这些手柄调整类似于用鼠标高亮文本),以及可能在顶部和底部边缘(这将使整个行从范围中递增或递减),并为每个范围或具有相同语言指定的一组范围使用不同的大纲颜色。
4条答案
按热度按时间zzlelutf1#
我很高兴这个问题在待办事项列表中,希望能够在这方面取得一些进展。我也希望拥有这个功能。
就我目前的情况而言,我使用的是Shopify主题,这些主题可以在同一个文件中有多种不同的格式:CSS、JavaScript、JSON、HTML、Liquid等。因此,高亮显示文件的某些部分,发出*"Format Selection As"*命令并选择一种特定的语言来单独格式化该选择将非常有用。
在这里还要指出的是,这个问题之前已经提出过 #27073 ,但在问题整理练习中被关闭了。
@michaelgwelch 另一个解决方法:你可以临时将markdown文件扩展名重命名为
.md.json
,格式化你的JSON代码块,然后将其重命名为.md
。eblbsuwk2#
i. 我非常希望看到这个功能也能实现。类似于其他人在这里和#27073中提到的,我对需要VSCode通过编程来推测解析结果的语言进行语法高亮不感兴趣,而且最终的语言指定也不应该从多个语言中选择一个,而是应用于结果的每个元素,即任何增强或扩展VSCode对文件中所有正确格式化代码的语法高亮能力的函数。其中,用于验证和高亮语法的
language
值既不是原子性的,也不是作为参数(或功能等效)提供给高亮语法过程的。相反,我只希望能够手动指定在文件中使用指定语言解析的子字符串,然后应用现有的语言扩展进行语法高亮。这些扩展的操作方式类似,但是它们与文件关联的语言不同,而是与某个子字符串对象关联。子字符串对象可以有多种定义方式。最糟糕的情况是与文件中位置相关的静态赋值(例如,由常量行和列坐标定义的开始和结束位置),但理想情况下,它应该是动态的——我设想的是类似于Wᴏʀᴅ中的Range对象的功能,依赖于根据多个参数评估边界动态的方法来提供可接受的常见、可预见的编辑5的容差范围,以便以符合合理用户期望的方式调整Range边界(在创建时强制为Range分配语言应该使相对容易跟踪边界的健壮函数成为可能)。最后,某种图形指示器会极大地提高可用性,例如一个大纲包围范围,鼠标悬停或光标位于范围内时显示,边界上有调整大小的手柄(使用这些手柄调整类似于用鼠标高亮文本),以及可能在顶部和底部边缘(这将使整个行从范围中递增或递减),并为每个范围或具有相同语言指定的一组范围使用不同的大纲颜色。syntax-highlighting
过程时初始化的language
状态。f5emj3cl3#
在Stack Overflow上,有一个相关的问题:Formatting contents of a Markdown code fences in VS Code (or other embedded language code)。对于这个问题,#14447也是相关的。
yhqotfr84#
这是另一个相关的项目( #183466 ),这次提到的是JavaScript和一个缺失的"Format Selection With..."命令,这个命令也可以解决这个问题,而且在VS Code的其他上下文中显然是可用的。