Cadence Virtuoso高效操作技巧:快捷键、脚本与自动化实战
1. 从一次深夜改版图说起为什么这些小技巧值得收藏画版图到凌晨两点最崩溃的事情不是DRC报了几百个错而是你发现刚才手动对齐的那一排器件间距差了0.02微米。更崩溃的是你明明记得昨天调好的一个参数今天怎么都找不到在哪个菜单里。Cadence Virtuoso这个工具功能深到令人发指但它的很多高效操作藏得也深。我用了快八年从最初只会点鼠标画矩形到现在基本靠快捷键和脚本完成大半重复劳动中间踩过的坑、翻过的文档、问过的大佬最后沉淀下来的就是这篇文章要聊的东西。这篇内容不打算写成一本正经的软件说明书。我想做的是把那些真正能让你每天少加班半小时的技巧按照实际工作流串起来讲清楚。不管你是刚接触Virtuoso的在校学生还是已经画了几年版图但总觉得效率上不去的老手下面这些内容应该都能让你找到一两个“原来还能这样”的瞬间。核心会围绕快捷键体系、版图编辑效率、原理图与仿真调试、脚本与自动化、以及环境配置这几个维度展开每个技巧我都会说清楚它解决什么问题、为什么这样设计、以及实际用的时候要注意什么。先给一个总体判断Virtuoso的效率瓶颈往往不在工具本身而在于你有没有建立起一套属于自己的操作肌肉记忆和自动化流程。下面我从最基础的快捷键开始一层一层往上拆。2. 快捷键不是背出来的是改出来的2.1 默认快捷键里最值得先掌握的十个很多人一上来就去网上搜“Virtuoso快捷键大全”然后对着几百个组合键发呆。我的建议是别这么干。先掌握下面这十个它们覆盖了日常操作80%以上的场景快捷键功能使用场景q查看/编辑对象属性改器件参数、线宽、层次m移动对象调整布局c复制对象快速生成重复结构r画矩形创建金属、扩散区p画路径走线s拉伸调整已有图形尺寸f全屏显示快速查看全貌Shiftf缩放至选中对象定位特定区域u撤销救命键E显示/隐藏层次检查版图结构这十个键如果你还不能盲操那后面所有高级技巧都是空中楼阁。我见过太多人画版图时右手在鼠标和键盘之间来回切换找一个功能要翻三层菜单一天下来光找菜单就浪费一两个小时。2.2 自定义快捷键的正确姿势默认快捷键有个问题它不一定符合你的操作习惯。比如m是移动但如果你之前用其他EDA工具习惯了mv那每次按m都会别扭。Virtuoso允许你完全自定义快捷键路径在CIW窗口的Options → Bindkeys里。我自己的习惯是把高频操作全部映射到左手区域。比如hiSetBindKey(Layout KeyF2 hiZoomAbsoluteScale(0.5)) hiSetBindKey(Layout KeyF3 hiZoomAbsoluteScale(2.0)) hiSetBindKey(Layout KeyF4 leHiToggleGrid())这段Skill代码的意思是F2缩小视图、F3放大视图、F4切换网格显示。为什么这么设因为画版图时缩放和网格切换是最高频的操作放在F键区可以左手盲操右手完全不用离开鼠标。注意自定义快捷键之前先把你常用的操作列一个清单按使用频率排序然后把前二十个映射到最顺手的位置。不要一上来就改几十个改多了你自己都记不住。2.3 用Skill脚本批量绑定快捷键如果你经常换工作环境或者需要在多台机器上保持一致的操作习惯手动一个个设快捷键就太慢了。更好的做法是写一个.il文件把所有自定义快捷键集中管理;; my_bindkeys.il hiSetBindKey(Layout KeyF2 hiZoomAbsoluteScale(0.5)) hiSetBindKey(Layout KeyF3 hiZoomAbsoluteScale(2.0)) hiSetBindKey(Layout KeyF4 leHiToggleGrid()) hiSetBindKey(Layout CtrlKeyr leHiReshape()) hiSetBindKey(Layout CtrlKeyd leHiDelete())然后在.cdsinit文件里加载这个脚本load(/path/to/my_bindkeys.il)这样每次启动Virtuoso你的快捷键体系就自动生效了。.cdsinit是Virtuoso启动时自动执行的文件放在你的工作目录或者home目录下都行。这个技巧看起来简单但真正用起来之后你会发现换机器、换项目时那种“手感一致”的体验有多重要。3. 版图编辑里那些没人告诉你但每天都在用的操作3.1 对齐与分布比手动拖拽快十倍画版图最烦的事情之一就是对齐。比如你放了十个MOS管想让它们等间距排列。手动拖那得拖到什么时候。正确做法是选中所有需要对齐的器件然后按Align功能。在Layout窗口里路径是Edit → Align但更快的做法是绑定一个快捷键。对齐有两种模式一种是按边缘对齐左对齐、右对齐、顶对齐、底对齐另一种是按中心对齐。等间距分布也有对应的Distribute功能。我通常会把Align Left、Align Center X、Distribute Horizontally这三个操作绑到顺手的位置。实际用的时候有个细节要注意对齐的参考基准是你最后选中的那个对象。所以操作顺序是先选所有要对齐的对象最后点一下作为基准的那个。这个逻辑和很多设计软件是一样的但Virtuoso的提示不够明显很多人第一次用会搞反。3.2 层次化编辑从“翻来翻去”到“一键进入”Virtuoso的版图是层次化的一个顶层单元可能调用了十几个子单元。当你需要修改子单元里的某个图形时默认操作是双击进入子单元改完再返回顶层。这个“进入-修改-返回”的循环一天可能要重复几百次。有个更高效的做法用Edit in Place模式。按E键打开显示选项勾选Edit in Place然后你就可以直接在顶层视图中编辑子单元的内容不需要来回切换层次。改完之后按Esc退出编辑模式所有修改自动生效。这个功能的好处是保持了视觉上下文。你不需要记住“我刚才在哪个子单元里改了什么”因为所有操作都在同一个视图里完成。缺点是如果子单元被多个地方调用你的修改会影响所有实例。所以用之前要确认这个子单元是不是被复用了。3.3 快速复制与阵列c键的隐藏用法复制对象谁都会按c然后点一下、拖一下就行了。但Virtuoso的复制功能有几个隐藏用法很多人不知道按固定间距复制按c之后在选项里设置Delta值然后连续点击每次复制都会按照设定的间距偏移。画等间距的接触孔阵列时特别好用。按行列阵列复制在复制选项里设置Rows和Columns一次性生成整个阵列。比如画一个10x10的via阵列设置好行列数和间距一次搞定。复制到指定层次复制时可以选择目标层次避免复制出来的图形跑到错误的层上。我画过一个功率管的版图需要在一个大区域里均匀分布几百个接触孔。如果一个个画至少半小时。用阵列复制功能设置好行列数和间距十秒钟搞定。这种操作一次省半小时一个月下来就是十几个小时。3.4 标尺与测量别再靠眼睛估距离DRC报错的时候经常需要检查两个图形之间的间距。用眼睛估那是在赌博。正确做法是用标尺工具。在Layout窗口按k键调出标尺点两个点就能读出精确距离。更高效的做法是把标尺绑定到快捷键并且设置成“测量后自动清除”。这样你按一下快捷键、点两个点、读数、标尺自动消失整个过程不到两秒。我见过很多工程师用鼠标去点菜单里的测量工具点完还要手动清除标尺效率差了好几倍。还有一个技巧用Shiftk可以测量角度。画斜线或者检查45度角走线时很有用。4. 原理图与仿真那些让调试速度翻倍的细节4.1 原理图编辑的“批量操作”思维画原理图时最耗时的往往不是画线而是改参数。比如你有一个电流镜里面有十个管子需要把它们的宽度从1u改成2u。一个个点开属性改那得改到什么时候。正确做法是选中所有需要修改的管子按q打开属性编辑器在Width字段里输入新值然后勾选Apply to All Selected。一次操作十个管子全部改完。类似的操作还有批量修改器件模型、批量替换器件、批量修改实例名。核心思路是一样的先选中再批量操作。Virtuoso的属性编辑器支持多选编辑但很多人不知道这个功能还在一个个手动改。4.2 仿真波形对比把多次仿真结果叠在一起看做仿真的时候经常需要对比不同参数下的波形。比如你扫了五组偏置电压想看哪一组的效果最好。默认做法是跑五次仿真然后分别打开五个波形窗口来回切换对比。这种做法效率极低而且容易看花眼。更好的做法是在ADE L或ADE XL里设置好参数扫描让仿真器自动跑完所有组合然后把所有波形叠加在同一个窗口里显示。具体操作是在波形窗口里选择File → Append把多次仿真的结果导入同一个波形图。更进一步你可以用Waveform Calculator对波形做数学运算。比如计算两个波形的差值、积分、微分、FFT。这些功能在调试放大器、滤波器、ADC时特别有用。我调过一个SAR ADC需要看DNL和INL直接用Calculator里的公式算出来比手动导出数据到Excel再画图快得多。4.3 瞬态仿真不收敛时的排查思路“瞬态仿真不收敛”是Virtuoso用户最常遇到的问题之一。报错信息通常很模糊只告诉你“convergence failure”不告诉你具体哪里出了问题。我总结了一套排查流程检查初始条件看看有没有节点没有设置初始电压。悬空的节点是收敛失败的头号原因。检查器件模型确认所有器件都有正确的模型定义。如果某个器件显示“未定义”仿真器会直接放弃。放宽仿真精度在瞬态仿真设置里把reltol从默认的1e-3放宽到1e-2先让仿真跑起来再逐步收紧。增加迭代次数把maxiters从默认值调大给仿真器更多机会找到收敛点。使用nodeset对关键节点设置初始猜测值帮助仿真器快速收敛。这套流程我用了很多次大部分收敛问题都能在前三步解决。如果还不行那可能是电路本身有拓扑问题需要从设计层面检查。4.4 用Parametric Analysis代替手动改参数很多人做参数扫描的方式是改一个参数、跑一次仿真、记录结果、再改下一个参数。这种做法不仅慢而且容易出错。Virtuoso的Parametric Analysis功能可以自动完成这个过程。在ADE L里选择Tools → Parametric Analysis设置好要扫描的变量、扫描范围和步长然后点运行。仿真器会自动跑完所有组合把结果整理成表格或曲线。你只需要等着看结果就行。这个功能配合Design Variables使用效果更好。把需要扫描的参数定义成设计变量然后在Parametric Analysis里直接引用变量名不需要每次手动改数值。5. 脚本与自动化从“手动操作”到“一键完成”5.1 Skill脚本入门从录制到修改Skill是Virtuoso的脚本语言功能非常强大但学习曲线也比较陡。我的建议是不要从零开始学语法而是从“录制”开始。Virtuoso有一个Script Recorder功能可以把你的一系列操作录制成Skill代码。你操作一遍它生成代码然后你在这个基础上修改。比如你经常需要做这样一个操作选中所有指定层次的图形、把它们移动到另一个位置、然后修改线宽。手动做需要好几步但录制成脚本之后一键就能完成。录制的脚本通常比较冗长包含很多不必要的细节。你需要做的是删掉无关的代码、把硬编码的数值改成变量、加上循环和条件判断。这个过程本身就是最好的Skill学习方式。5.2 用脚本批量导出数据做仿真的时候经常需要把波形数据导出成CSV或文本格式方便后续处理。手动导出一个个波形太慢了。用Skill脚本可以批量导出;; 批量导出所有波形到CSV procedure(exportAllWaves(outputDir) let((session waves wave fileName) session hiGetCurrentWindow() waves drGetWaveformList(session) foreach(wave waves fileName strcat(outputDir / wave-name .csv) ocnPrint(wave fileName ?type csv) ) ) )这段代码的意思是获取当前窗口的所有波形然后逐个导出成CSV文件。实际用的时候你可以把它绑定到一个快捷键上一键导出所有数据。5.3 自动化DRC/LVS检查流程DRC和LVS是版图验证的必经步骤但每次手动跑一遍很繁琐。更高效的做法是写一个脚本自动完成“导出GDS → 运行DRC → 运行LVS → 生成报告”的整个流程。这个脚本的核心是调用Calibre或Assura的命令行接口。具体命令取决于你用的验证工具但基本思路是一样的用Skill脚本生成必要的输入文件然后调用外部命令执行验证最后解析输出报告。我自己的做法是把这个流程集成到.cdsinit里每次启动Virtuoso时自动检查环境是否就绪。如果某个工具没配置好启动时就报错而不是等到跑DRC时才发现。6. 环境配置与字体调整那些让人抓狂的小问题6.1 字体大小调整的正确方法Virtuoso的默认字体在某些分辨率下小得让人眼睛疼。调整字体大小的方法不止一种但效果最好的是修改.Xdefaults文件Cadence*font: -adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1这行配置会把Virtuoso的默认字体改成14号。如果你用的是高分辨率显示器可以改成16或18。改完之后重启Virtuoso生效。还有一个地方需要单独调整波形窗口的字体。波形窗口的字体设置不在.Xdefaults里而是在波形窗口的Options → Font菜单里。很多人改了主界面字体后发现波形窗口还是小字就是因为漏了这一步。6.2 PDK导入的常见坑导入PDK是每个新项目开始时的必经步骤但这个过程经常出问题。最常见的坑是PDK的路径配置不对导致Virtuoso找不到器件模型。正确的做法是在.cdsinit或.bashrc里设置CDS_Netlisting_Mode和PDK_PATH环境变量。具体路径取决于你的PDK安装位置。设置完之后用hiGetTechLibList()函数检查PDK是否被正确加载。还有一个坑是不同版本的PDK可能需要不同版本的Virtuoso。如果你导入PDK后发现有器件显示异常先检查版本兼容性。6.3 用.cdsinit统一管理个人配置.cdsinit是Virtuoso启动时自动执行的文件你可以把所有个人配置都放在这里快捷键绑定、脚本加载、环境变量设置、默认选项修改。这样不管你换到哪台机器只要把.cdsinit文件带过去你的工作环境就完全一致了。我自己的.cdsinit里包含这些内容;; 加载自定义快捷键 load(/path/to/my_bindkeys.il) ;; 加载自定义脚本 load(/path/to/my_scripts.il) ;; 设置默认仿真精度 envSetVal(spectre reltol string 1e-3) ;; 设置默认波形窗口字体 envSetVal(waveform font string Helvetica-14)这个文件不需要很长但每一条都能帮你省去每次手动配置的麻烦。7. 一些零散但实用的经验7.1 用Bookmark管理常用目录Virtuoso的文件浏览器支持书签功能。把你常用的目录比如PDK路径、脚本目录、项目目录加到书签里下次打开文件时直接点书签不用一层层翻目录。这个功能看起来很小但每天用几十次累积下来省的时间很可观。7.2 用Version Control管理版图版本版图改版是家常便饭但很多人还在用“复制一份改个名字”的方式管理版本。这种做法的问题是改到第三版之后你根本分不清哪个文件对应哪个版本。更好的做法是用版本控制工具管理版图文件。Virtuoso支持与主流版本控制工具集成你可以像管理代码一样管理版图。每次改版提交一次需要回退时直接checkout旧版本。这个习惯在团队协作时尤其重要。7.3 定期清理临时文件Virtuoso在运行过程中会生成大量临时文件比如仿真数据、日志文件、缓存文件。这些文件不清理的话磁盘空间很快就会被占满。更严重的是某些临时文件损坏后会导致Virtuoso启动异常。我的做法是每周清理一次工作目录下的临时文件。具体命令取决于你的操作系统但基本思路是找到*.log、*.tmp、simulation目录下的旧文件批量删除。清理之前确认没有正在运行的仿真任务。7.4 用Layout XL加速版图设计如果你还在用纯手动的方式画版图那真的应该试试Layout XL。这个工具可以根据原理图自动生成版图框架包括器件放置、连线、端口定义。虽然自动生成的版图还需要手动优化但至少省去了从零开始摆放器件的时间。Layout XL的核心是Connectivity-Driven设计流程先定义好原理图和版图的对应关系然后工具会自动同步两边的修改。改原理图时版图自动更新改版图时原理图也自动更新。这个功能在改版时特别有用避免了“改了原理图忘了改版图”的低级错误。7.5 快捷键冲突的排查方法自定义快捷键时最常见的问题是冲突你设了一个快捷键但按下去没反应或者触发了另一个功能。排查方法是用hiGetBindKey()函数查询某个按键当前绑定的功能。如果发现冲突就换一个按键或者覆盖原有绑定。还有一个隐藏问题不同模式的快捷键是独立的。Layout模式和Schematic模式的快捷键互不影响。所以你在Layout里设的快捷键在Schematic里可能完全不一样。设置时要确认当前模式。8. 最后聊几句实在的上面这些技巧有些是我自己摸索出来的有些是从同事和大佬那里学来的还有些是在文档角落里翻到的。它们的共同点是都能实实在在减少你花在重复操作上的时间。但我也要说一句实话工具技巧只是手段不是目的。真正决定你工作效率的是你对电路和版图的理解深度。一个对电路理解透彻的工程师用最笨的方法也能画出好版图一个对电路一知半解的工程师用再多技巧也只是在堆图形。所以我的建议是先把基础打牢再追求效率提升。快捷键和脚本是锦上添花不是雪中送炭。另外不要试图一次性掌握所有技巧。挑三五个你觉得最实用的先用起来形成习惯之后再学新的。贪多嚼不烂这个道理在学工具上同样适用。如果你在用Virtuoso的过程中有什么自己的独门技巧欢迎交流。工具这东西一个人摸索总是慢的互相分享才能共同进步。

相关新闻

插件加载失败排查:生命周期、激活与扩展点设计

插件加载失败排查:生命周期、激活与扩展点设计

你有没有在启动某个工具、网页应用或嵌入式IDE的时候,见过failed to load plugins或者web boot: 2 entries did not activate这种话?尤其是后面跟着一长串类似linxin666/dsh-p这种包名,第一反应往往是懵的:我什么都没装&#xff0…

2026/10/4 10:06:55 阅读更多 →
MetaInfer mHC算子融合实战:基于海光K100AI的推理性能优化

MetaInfer mHC算子融合实战:基于海光K100AI的推理性能优化

前一阵子帮客户优化一个BERT模型的推理链路,问题现象很典型:GPU利用率看着不低,内存也够,但端到端延迟就是压不下去。我拿了profiler一看,发现一张子图里连续排了八九个逐元素算子,每个算子都单独把中间结果…

2026/10/4 10:05:52 阅读更多 →
WebSocket三媒体协同:文本/视频/语音单连接实时调度实战

WebSocket三媒体协同:文本/视频/语音单连接实时调度实战

简介:本资源是一套基于WebSocket实现浏览器端文本、音视频实时通讯的完整Web应用工程,面向前端与全栈开发者,尤其适合课程设计、毕业设计及即时通讯类项目快速原型开发。项目采用前后端分离架构,包含36张界面截图(png/…

2026/10/4 10:05:52 阅读更多 →

最新新闻

iOS沙盒机制详解:看懂iPhone App数据目录与提取方法

iOS沙盒机制详解:看懂iPhone App数据目录与提取方法

iPhone 上那串特别长的路径,/private/var/mobile/Containers/Data/Application/,我估计很多朋友第一次见到它,是在折腾备份恢复、游戏存档迁移,或者照着某篇技术教程操作时看到的。说实话,我第一次在电脑上顺着这个路径…

2026/10/4 12:57:33 阅读更多 →
Mean Flow Distillation:从Flow Matching到少步生成的质量突破

Mean Flow Distillation:从Flow Matching到少步生成的质量突破

1. 从Flow Matching到Mean Flow Distillation:一篇论文背后的技术脉络第一次看到“Mean Flow Distillation”这个标题,我下意识把它和常见的知识蒸馏、模型压缩联系到了一起。但翻完论文才发现,它真正要解决的问题比“把大模型变小”要精细得…

2026/10/4 12:57:33 阅读更多 →
磁带传照片指南:用FSK调制实现复古数据通信

磁带传照片指南:用FSK调制实现复古数据通信

1. 项目先聊:用磁带传照片,到底是个什么操作 看到标题你可能先愣一下:磁带?就是那种得用铅笔倒带、放久了还会“吱吱”响的老古董?再把照片传到磁带上?这俩东西怎么混到一起去的? 其实这事儿完…

2026/10/4 12:57:25 阅读更多 →
Claude API缓存命中率优化:四步降低大模型调用成本

Claude API缓存命中率优化:四步降低大模型调用成本

1. 先搞清楚Claude API的计费逻辑,再谈缓存命中很多人一上来就问“怎么提高缓存命中率”,但连Claude API到底怎么计费的都没弄明白。我见过太多团队,账单翻了三倍还在那儿调prompt,方向完全错了。先把计费模型吃透,后面…

2026/10/4 12:57:25 阅读更多 →
3D卷积实战避坑指南:从PyTorch Conv3d到医学影像精度落地

3D卷积实战避坑指南:从PyTorch Conv3d到医学影像精度落地

1. 为什么3D卷积不是“加个维度”那么简单?——从视频理解到医学影像的真实战场你搜“3D卷积”,十有八九会看到一句轻描淡写的解释:“就是Conv2d在时间维度上多加了一维”。我第一次写完代码跑通后也这么想,直到把模型丢进真实CT序…

2026/10/4 12:57:25 阅读更多 →
基于Python的网络入侵检测与防御系统:从实时流量分析到自动封禁的完整闭环

基于Python的网络入侵检测与防御系统:从实时流量分析到自动封禁的完整闭环

简介:这是一份基于Python构建的网络入侵检测与防御系统源码,面向毕业设计、课程设计及网络安全方向学习者,可解决实时流量分析、恶意攻击识别、自动防御与可视化监控等需求。系统采用Flask、Flask-SocketIO与Scapy实现后端数据捕获与检测&…

2026/10/4 12:56:25 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →