//=====================================================================
//=====================================================================

【vscode常用快捷键】

快捷键 功能描述
Ctrl + Shift + K 删除当前行
Alt + ↓ 向下移动当前行
Shift + Alt + ↓ 向下复制当前行
Ctrl + J 合并当前行到下一行
Ctrl + L 选中整行(可扩展多行选择)
Ctrl + Enter 在当前行下方插入新行
ctrl+shift+Alt+方向键 列选择模式
Shift+ Alt+ 鼠标左键拖动 列选择模式
Alt+点击 多光标
Ctrl + Shift + [ 折叠当前层次
Ctrl + Shift + ] 展开当前层次
Alt + ← 回溯
Alt + → 前进
Alt + 点击 递归折叠:可递归折叠该层级下的所有子代码块
Ctrl + K, Ctrl + [数字] 折叠/展开到指定层级
Ctrl + K, Ctrl + J 展开所有层级
Ctrl+] 增加缩进
Ctrl+[ 减少缩进

用户快捷键迁移

复制下面这个路径的json文件到新设备的这个路径就行。快捷键配置都在此json
在这里插入图片描述

【插件功能】

1、自动补全(无需设置)
2、工程的树状结构(无需设置)
3、将悬停在变量上显示声明(设置"verilog.includes")
4、跳转到变量/parameter/define定义查看定义("verilog.includeGlobs")
5、模块自动例化(无需设置,输入#)
6、内联显示例化模块的的输入输出(Inlay Hints:port选项on)
.vscode/setting.json
{
    "verilog.includes": [//设置头文件的文件夹静态路径,不会递归子文件夹
        "hdl/include"//搜索include文件夹
    ],

    "verilog.excludeGlob": "**/*.fsdb",//搜索排除.fsdb,提高性能
    "verilog.includeGlobs": [//设置头文件的文件夹动态路径,会递归子文件夹
        "hdl/INCLUDE/*.sv"
    ],
    "verilog.lint.modelsim.args": "+define+SIMULATION -svinputport=relaxed",//vlog的参数
    "verilog.lint.modelsim.includes": [ "hdl/INCLUDE" ],//vlog的头文件 类似于 +incdir+/path
}

//=====================================================================
//=====================================================================

【JSON语法】

值的类型:字符串、数字、布尔true、布尔false、null、对象{}、数组[]
反斜杆 \  来转义字符。

换行
    结构中换行:不影响,当作空白字符,换行等同空格和制表符。
    字符串中换行:不允许。要改成\n或\r\n转义。

JSON只有两种核心结构:
    1.对象(Object)  {}  表示键值对集合
        要求:
            1.字符串值必须加双引号。数字、布尔、null不能加引号。
            1.因为键必须是字符串,所以必须有双引号。
            2.多个键值对用逗号分隔,最后一个元素后不能有逗号。
        举例:
            {
              "name": "Alice",
              "hight": 160,
              "age": 25
            }
    2.数组(Array)   []  表示有序值列表
        举例:
            [
              "apple",
              "banana",
              "orange"
            ]

//=====================================================================
//=====================================================================

【verilator告警】

告警1:vscode内使用verilator作为verilog的lint工具,Cannot find file containing module: 'xx.sv’verilator(MODMISSING)
解决办法:没有将xx.sv传给verilator。
“verilog.lint.verilator.runAtFileLocation”: false ,
// “verilog.lint.verilator.args”: " --timing +incdir+hdl ",
“verilog.lint.verilator.args”: " --timing -Ihdl ",

【vscode介绍】

1.修改配置后需重启 VSCode 或重新加载窗口(Ctrl+Shift+P→ Reload Window)。
2.命令面板输入“Preferences: Open Settings (JSON)”来打开
project-root/
├── src/
├── .vscode/
│   ├── settings.json  # 项目级配置
│   └── launch.json    # 调试配置
└── package.json

//=====================================================================
//=====================================================================
插件:Verilog/SystemVerilog Tools(Andrew Nolte)
1.不能点击例化名字跳转打开文件?–文件名与模块名要一致。
2.不能跳转到include文件内?–verilog.include没有设置
2.define参数不能跳转?–
//=====================================================================
//=====================================================================
【配置项 exclude glob】 (glob:通配符)
排除特定文件或目录在代码分析、索引和自动补全等场景中的参与。其核心作用是通过glob 模式匹配精准控制插件需要处理的文件范围,从而提升性能并避免无关文件的干扰。
Glob 模式语法:
**:匹配任意层级的子目录。
:匹配任意字符(不含路径分隔符)。
?:匹配单个字符。
[abc]:匹配括号内的任意字符。
!:取反(需配合其他规则使用)。
【expandMacroScript配置项】
用于自定义宏展开逻辑,其核心作用是通过脚本动态解析和替换代码中的宏定义(define),从而提升代码可读性和调试效率。需要自己编写脚本,暂不使用。
【verilog.formatDirs配置项】
指定格式化规则文件的搜索路径,用于加载自定义的代码风格模板或配置文件。
【verilog.includeGlobs配置项】–会递归查子文件夹
通过通配符模式指定需要索引的 Verilog 头文件(.h/.svh/…等任何后缀)路径,从而增强插件对跨文件模块、参数和宏的解析能力。"include/
"
【verilog.includes配置项】–不会递归查子文件夹
指定 Verilog 头文件(特定后缀.h或 .svh)的搜索路径,使插件能够正确解析跨文件的模块声明、参数定义和宏引用
【verilog.index.enableSymlinks配置项】
控制是否通过符号链接(Symlink)加速模块和文件的索引过程。
插件会在项目根目录下创建 .sv_cache/files目录,并为所有 Verilog 源文件(.v/.sv)和头文件(.h/.svh)生成符号链接。
这些符号链接会被传递给 Linter 工具(如 Verilator、Slang),使工具能快速定位模块定义,无需依赖复杂的路径配置。
【verilog.index.indexAllIncludes配置项】
控制是否递归索引所有包含路径(include指令)中的头文件,从而扩大插件对模块、参数和宏的解析范围。
当设置为 true(默认值)时,插件会递归扫描 verilog.includes中指定的所有目录及其子目录,自动索引其中的头文件(.h/.svh),建立全局符号索引。
【verilog.inlayHints.wildcardPorts配置项】
控制是否在模块实例化时显示通配符端口(.*)的智能提示,帮助开发者快速识别可用的端口名称和方向,提升代码编写效率。???
【verilog.lint.modelsim.args配置项】
为 ModelSim 的 vlog编译器传递额外的命令行参数,以控制语法检查(Lint)的行为。
+incdir+/path/to/includes 指定头文件搜索路径多级目录下的头文件索引
+define+SIMULATION定义宏 SIMULATION,用于条件编译测试平台区分仿真与综合代码
【verilog.lint.modelsim.include 配置项】
指定 ModelSim 工具在进行语法检查(linting)时需要额外包含的目录路径。注意:是路径,不是文件

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐