当前位置: 首页 > news >正文

修改vscode插件语法高亮

一般在vscode里实现某个语言的语法高亮都是借助插件实现的,但是无奈有些情况下咱觉得这个插件的高亮不太满意(闲的。。。),比如有些颜色啦之类的,最近我折腾了下verilog的语法高亮部分,修改了它原本插件在某些高亮的颜色,记录下,希望帮到有强迫症的小伙伴
首先,我用到的插件是这三个:
image-53

第一个插件的语法高亮总体显示的还行,但这不是它最大优点,它最大优势是内部集成了ctag功能,你在查找模块定义时,可以在不同文件之间直接跳转,直接F12或者ctrl加左键就可以,很多其他插件要么只能当前文件跳转,要么就是通过配置ctag来实现,但是我个人觉得都没有这个方便,它的默认高亮是这样的:
image-54

image-55

总体还是不错的,但是这个插件的lint功能,就是语法检查,它支持的是verilator或者verible-lint或者vcs,这些都是对systemverilog支持的比较好的,对verilog-2001的语法规则就支持的不好,比如我想检测端口最后多一个逗号的问题,以及default_nettype none的问题,它都不会给你报错,因为有些在systemverilog下语法是支持这样写的,比如下图这个在已经定义default_nettype none下检查器还是不会报错:
image-56

image-57

所以为了实现想要的lint,就又使用了第三个插件:Verilog-HDL/SystemVerilog/Bluespec SystemVerilog,这个相信很多人都用过,它功能做的挺全的,但是它的问题是语法高亮我不太满意,而且主要是这两个插件同时安装的情况下,这个优先级会高于上面那个插件,也就是说会按照这个插件去做语法高亮。那怎么办,一种就是定义插件的优先级,还有一种就是告诉vscode强制按照sv格式去给v文件做高亮,这里插一句Verilog-HDL/SystemVerilog/Bluespec SystemVerilog这个插件的sv高亮是完全引用上面那个插件的规则做的,可以去github上看源码规则,作者也在readme中说明了就是引用上面那个插件去做的。强制vscode去按照sv文件去做解析可以在setting.json中这样去配置,就是我注释掉的部分:
image-58

这样做是可以的,我试过,但是我最终没有这样用,我是修改了Verilog-HDL/SystemVerilog/Bluespec SystemVerilog这个插件的package.json文件,让插件去按照sv的规则去高亮v文件:
image-59

这里原本是:
"scopeName": "source.verilog",
"path": "./syntaxes/verilog.tmLanguage.json"
我直接改成systemverilog,这样你会发现它就会按照sv的高亮去做。好了到这一步,我们初步达到目的,然后,我觉得它对于input output的高亮是我不想要的:
image-60

我们可以在vscode的插件开发模式去看它的显示属性,然后根据scope去改,比如查看到这个input output关键字的scope是"support.type.direction.systemverilog":
image

然后在vscode的setting.json里这样去改:
image-63

改完就正常了:
image-64

注意scope不要写多了,不然会让其他scope范围内的高亮也变成这个颜色了
先写到这,上面我提到了三个插件,第二个我没说,第三个是单纯的高亮,做的也挺好的,颜色很丰富,我尝试修改然后用过,但是最终觉得略花里胡哨的,就没用了。

http://www.jsqmd.com/news/165597/

相关文章:

  • 收藏!LangGraph从入门到实践:新一代Agent开发框架指南(基于LangChain)
  • VR之问题合集
  • 2025年HDPE双壁波纹管设备制造企业权威推荐榜单:双壁波纹管设备/PE双壁波纹管生产线设备/聚乙烯双壁波纹管设备/pvc双壁波纹管设备源头厂家精选 - 品牌推荐官
  • LlamaIndex与Qwen2.5:搭建行业知识库问答机器人全攻略
  • cms系统JAVA分块上传功能的教程分享
  • 计算机组成原理期末复习
  • 谁是TOP1?湖南省益阳市自建房设计公司评测排行榜 + 真实建房案例参考 - 苏木2025
  • 【收藏必备】大模型RAG系统架构全解:知识库三大核心层详解
  • JAVA百万文件分块上传的性能优化策略
  • 有关软件需求与分析的复习总结
  • 国密加密在JAVA大文件分块上传中的实现
  • SROP的原理及运用(附mprotect及ret2syscall的实战)
  • 频谱分析仪与电压探头匹配指南
  • 收藏!后端转大模型工程化实战指南:从入门到落地全路径
  • 前端与JAVA后端分块上传的协同实现经验
  • 湖北省仙桃市自建房设计靠谱机构评测排行榜:5星平台优势及客户评价 - 苏木2025
  • 本章节我们将讨论如何在 React 中使用表单
  • 湖南省岳阳市自建房设计公司排行榜出炉!权威评测 + 真实案例,建房选对不踩坑 - 苏木2025
  • 湖南省张家界市设计公司权威评测排行榜:6大维度打分,5星企业全解析 - 苏木2025
  • containerd怎么离线安装
  • 堆垛机控制系统 FC12货叉清零功能块实现
  • 【开题答辩全过程】以 基于安卓的停车位管理系统与设计为例,包含答辩的问题和答案
  • 湖南省衡阳市自建房设计公司/机构权威测评推荐排行榜 - 苏木2025
  • 堆垛机控制系统步FC12功能块赋值每一步目标脉冲
  • WebUploader分块上传在JSP中的加密传输步骤
  • 湖北省随州市自建房设计公司排行榜出炉!权威评测 + 真实案例,建房选对不踩坑 - 苏木2025
  • 湖南省邵阳市自建房设计公司评测排行榜:6 家主流企业实地测评,哪家更靠谱? - 苏木2025
  • 基于spark的西南天气数据的分析与应用_plbe9x5o
  • 基于Spark的南昌房价数据分析系统的设计与实现_45i0b357
  • 节能智能高效:2025年优质网带炉厂家推荐榜单 - 品牌推荐大师1