VSCode 搭建 C/C++ 本地与远程开发环境完整指南
我经常被刚转到 Linux 环境写 C/C 的朋友问到一个问题VSCode 到底够不够用尤其是当他们听说本地开发、远程开发都能用这一套工具链解决总想让我给个准话。我的回答是只要你把它背后的思路理顺VSCode 不只是够用它完全可以成为你写 C/C 的主战场而且比很多传统 IDE 更灵活。这一篇想分享的是我把它当主力编辑器之后从安装配置到本地编译调试再到远程连接服务器开发 C/C 的完整经验。内容按使用顺序来排先讲选型思路和环境搭建再分别拆本地和远程两套工作流最后用一个多文件项目走一遍实战其中穿插了不少我踩过的坑。无论你是刚开始接触 Linux 编程还是已经在用其他 IDE 想换换口味这组内容应该都能给你一个可以直接上手的路径。1. 写 C/C 为什么我会把 VSCode 当主力选型逻辑与整体工作流先说说我为什么放着现成的重型 IDE 不用偏要折腾 VSCode。很多初学 Linux 编程的朋友默认认为 C/C 就必须配一个重量级开发环境打开界面一屏按钮编译、调试、项目管理全都帮你安排好。好处是很省心坏处是你根本不清楚每一步背后发生了什么。等你换一台机器或者切换到命令行场景就会发现自己对工具链几乎一无所知。人的精力是有限的你把注意力花在熟悉 IDE 的项目模型上就必然少花精力在理解编译器和调试器本身。VSCode 走的完全是另一个路子它给自己的定位是一个灵活的编辑器而不是一个什么都帮你做完的 IDE。编译用的是哪个编译器、链接要不要带某些库、调试器连接哪个进程这些都在配置文件里写得明明白白。你写下的每一条配置本质上都是在跟底层工具链对话这对我这种喜欢搞清楚来龙去脉的人特别友好。1.1 从命令行到 IDE这条路是怎么走过来的我最早在 Linux 上写 C 程序是真的就在终端里开 vim写完一个文件切换出去手工敲 gcc报错了再切回来。程序小的时候还好文件一多、依赖一多手工编译很快就hold不住。后来开始用 Makefile但 Makefile 本身又是一套学问光是处理头文件依赖就能让人头疼。再后来有段时间我也用过图形界面里的全家桶方案确实开箱即用但总感觉哪里别扭。首先是启动慢其次各种项目概念非常重我明明只需要编译一个文件夹里的几个 .c 文件它非要我先创建一个项目。等你需要连远程服务器开发的时候现有的集成环境又显得僵硬要么不支持要么需要通过非常绕的方式才能连过去。所以当我第一次尝试 VSCode 时最吸引我的不是界面好看而是它把编辑器和工具链解耦了。编辑器负责编辑编译和调试交给插件去调用 gcc、gdb一切都是透明的。这种模式有点像把之前的终端工作流搬进了一个带语法高亮、智能提示和界面调试器的壳里既能保持灵活性又不会牺牲太多便利性。1.2 编辑器、编译器、调试器各司其职组合起来才叫开发环境很多初学者会把开发环境理解成一个整体软件其实在 Linux 的世界里它通常是几个独立工具的分工合作。编辑器只管写代码编译器负责把源码变成机器码调试器让你能在程序运行过程中停下来检查变量、栈和内存。VSCode 站在中间当调度者。它通过扩展调用 C/C 插件来识别语法和提供智能提示通过任务task机制去运行编译器又通过调试配置去启动调试器。每一层都可以单独替换比如你不想用 gcc可以切换成 clang不想用 gdb也可以换成 lldb不用换编辑器。我用了一段时间后最大的体会是这种组合感反而让你对整套流程更有掌控力而不是被一个巨大的环境绑住。1.3 本地和远程两种模式底层其实是同一套玩法这一篇标题里写了本地 / 远程 C/C 开发很多人一听远程就发怵。其实把逻辑拆开看远程开发并没有多神秘你的代码存放在服务器上编辑器的界面显示在本地而编译和调试全部发生在服务器端。VSCode 的思路是通过 SSH 连接服务器在服务器端跑一个轻量的服务端然后本地客户端和它通信。你本地编辑文件保存后内容同步到服务器你在本地悄悄按下一个编译快捷键实际执行命令的是服务器上的编译器。这个模式对我来说特别自然因为本地编译和远程编译的配置结构几乎一样差别只是换了一台执行机器。这一篇后面我会详细讲这两个场景的配置差异。2. 装好一个干净可用的基础环境安装步骤与高频问题在 Linux 上安装 VSCode我相信大部分人都能完成但有些小细节初次接触真的容易卡住。我见过不少人在第一步纠结半天纯粹是因为不清楚不同的安装包对应什么发行版。2.1 Linux 下三种安装方式我推荐哪个最常见的安装方式是下载官方提供的 deb 包或 rpm 包。Debian 系和 Ubuntu 系用 deb 包Fedora 和 openSUSE 这类用 rpm 包。用 dpkg 命令安装的时候如果遇到依赖问题我喜欢用 apt 的本地安装模式来处理它会自动拉取依赖。其实更推荐大多数人的做法是先把软件源配好然后通过 apt install code 直接安装这样以后升级也能直接跟着系统更新走。还有一种是通用 tar.gz 压缩包解压就能用。这种方式的优点是所有发行版通吃缺点是它不会自动创建桌面入口和命令行符号链接后续配置 PATH 要自己处理。我个人更倾向于通过官方软件源安装省心和系统集成也好。如果你只是临时用一下tar.gz 也没问题但真要长期写代码系统层面统一管理工具链更省事。2.2 code 命令为什么调不出来PATH 问题第一次从终端敲 code 却提示找不到命令这应该是遇到最多的一个小问题。如果你是通过图形界面安装的 deb 包一般会自动注册。但如果之前用过压缩包版本或者安装路径不是标准位置终端往往识别不到。这个问题本质上是 PATH 环境变量里没有包含 VSCode 可执行文件的目录。常见的解决思路是手动添加一个软链接把它放到 /usr/local/bin 下面。我习惯先确认 code 的实际安装路径再用 ln -s 创建一个符号链接这样任何终端会话都能直接使用。这里有一个技巧创建软链接之后如果还是提示找不到先检查一下目标文件是否有可执行权限我遇到过几次是权限位不对导致的问题。2.3 必装扩展清单与各自分工扩展是 VSCode 的灵魂但也别装太多装多了反而拖慢启动速度。我最低限度会装这几个C/C 扩展负责语法解析、智能提示和调试支持Remote-SSH 负责远程连接如果项目用到 CMake再装一个 CMake Tools 辅助构建。前面说的 C/C 扩展其实就是你本地开发的主力它集成了编译器路径探测、头文件索引、代码跳转这些核心功能。Remote-SSH 则是远程开发的入口它会自动在远端安装配套服务你不需要在服务器上手动配置太多东西。CMake Tools 是锦上添花对不熟悉 CMake 命令行的朋友非常友好能直接在界面里选择构建目标和启动构建。3. 本地 C/C 环境从编译到调试的完整配置很多人配置 VSCode 都卡在往返三步写好了代码不知道怎么一键编译编译配好了调试又打不开调试能打开了智能提示又不认头文件。这一节我按顺序把这些问题一个个拆开。3.1 编译器、调试器与代码风格工具装一遍就够了在正式开始之前我建议先确认系统里有没有必要的编译调试工具。C 语言用 gccC 用 g调试统一用 gdb。如果你的系统之前装过 build-essential 这类元包那基本就齐了。为了验证可以在终端里分别执行 gcc --version 和 gdb --version能打印出版本号就说明可用。除了编译调试器我还会顺手装一个代码格式化工具C/C 项目我常用 clang-format。它的作用不是帮你把代码变漂亮而是让团队所有人的代码风格保持一致。VSCode 的 C/C 扩展可以直接调用它在保存文件的瞬间自动格式化。这个习惯我从开始坚持到现在最大的好处是 diff 看着干净不会出现因为空格数量不同而产生的无意义改动。3.2 用 tasks.json 把编译动作固化下来写完 main.c如果你想直接在当前目录下生成可执行文件最快的方法是打开终端敲 gcc main.c -o main。这个方法在小程序里还行但一旦参数变多每次敲都容易错。更合理的思路是把这个编译行为固化成 VSCode 的任务。VSCode 的任务配置放在 .vscode/tasks.json 里。我的第一个任务通常写成这样{ version: 2.0.0, tasks: [ { label: build hello, type: shell, command: gcc, args: [ -g, main.c, -o, main ], group: { kind: build, isDefault: true } } ] }这里有一个细节新手容易忽视一定要在编译参数里带上 -g 选项。它会在产物里保留调试信息否则后面用 gdb 打断点会变成一锅粥。配置好之后按 CtrlShiftB 就能直接执行编译终端的输出会汇总到面板里报错还能点击跳转到对应源码行。这一步做完你已经从手敲命令过渡到任务驱动了。3.3 launch.json 调试配置每个字段都解释清楚编译成功后按 F5 调试如果没看到结果别急你需要再配一个启动调试的接口。VSCode 的调试配置放在 .vscode/launch.jsonC/C 扩展会识别里面的特定字段。我的一份最小配置是这样的{ version: 0.2.0, configurations: [ { name: debug main, type: cppdbg, request: launch, program: ${workspaceFolder}/main, args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], externalConsole: false, MIMode: gdb, miDebuggerPath: /usr/bin/gdb, preLaunchTask: build hello } ] }这里我最想强调的是 preLaunchTask 与 tasks.json 里的 label 对应。它负责在调试启动之前先编译一次保证你调试的是最新代码。然后 program 要指向实际生成的可执行文件路径我用的是 ${workspaceFolder} 变量它的值就是当前工作区的绝对路径比写死路径更安全。MIMode 和 miDebuggerPath 先保持默认只要 gdb 能通过命令行找到一般不会出问题。3.4 IntelliSense 不认头文件的排查思路代码能编译能调试但你发现别人写好的头文件里的函数始终没有智能提示这大概率是 IntelliSense 引擎没找到头文件。C/C 扩展通过一个叫 c_cpp_properties.json 的文件来配置编译相关路径。最简方式是在这里指定 includePath让它扫描你项目存放头文件的目录。{ configurations: [ { name: Linux, includePath: [ ${workspaceFolder}/include, /usr/local/include ], intelliSenseMode: linux-gcc-x64 } ] }我踩过的坑是明明编译器能通过 -I 参数找到头文件但扩展不知道。因为编译器参数和 IntelliSense 配置是两个独立的体系所以如果你改了 Makefile 里的头文件路径记得同步到这里。还有一个好习惯是定期让扩展重新扫描项目文件有时候新增了文件索引没能立刻刷新看起来像配置错了实际只是缓存问题。4. 远程开发实战把你本地的一套搬到服务器上本地配置好之后转成远程开发比想象中简单。核心思路没变还是编辑、编译、调试三件事只不过执行的位置换到了服务器。但不少同学第一次连远程都会发现很多小问题这里我把整个链路从头讲一遍。4.1 SSH 密钥免密登录这一步值不值得做远程开发的第一步肯定是连接到服务器。如果你平时只是偶尔连一次用密码登录就够了。但如果你打算每天都写代码我强烈建议花几分钟配置 SSH 密钥免密。理由很简单避免每次连接都要手工输入密码也减少密码被暴力猜测的风险。配置的关键在于公钥要放到服务器的正确位置。一般流程是先在本地生成一对公私钥然后把公钥添加到服务器对应用户的 authorized_keys 文件里。有些朋友做完之后还是不生效原因很可能是文件权限不对。SSH 服务对权限非常敏感服务器上的.ssh 目录和 authorized_keys 文件都不能对其他用户开放写权限。权限列表可以参考这样目录 700私钥 600公钥 644authorized_keys 600。4.2 Remote-SSH 连接流程第一次连上之后做什么装上 Remote-SSH 扩展后按下 F1 输入 Remote-SSH: Connect to Host 就能配置连接。它会让你填一个形如 userhost 的地址然后自动在远端安装 VSCode Server 组件。这个组件是远程开发的核心你的所有扩展、设置、终端操作都会在它之上工作。第一次连接成功后最容易被忽略的是扩展管理机制。你本地装的 C/C 扩展不会自动在远端生效需要通过扩展列表里在 SSH 上安装的入口单独装到服务器端。当你看到左下角绿色图标显示当前连接的主机名就说明会话已经建立在远程了。这时候打开终端敲 pwd你会发现自己确实在服务器上整个流程已经跟本地几乎一样。4.3 远程调试同样是 F5端口转发与 launch 配置差异远程项目里调试配置和本地非常接近唯一需要留意的是一点程序运行在服务器上调试器也需要能找到服务器上的 gdb 路径。所以 launch.json 里的 miDebuggerPath 要改成服务器上实际安装的路径或者干脆不用写死让扩展自动探测。如果你调试的程序是一个网络服务客户端在本地想要访问服务器上监听的端口就需要端口转发。Remote-SSH 扩展有个内置的转发机制可以直接把服务器端口映射到本地这样你在本地浏览器或测试工具里访问 localhost 就等同于访问服务器。这个功能对前后端联调、嵌入式远程部署都很实用省去了在服务器上另搞一层代理的麻烦。5. 一个多文件项目的完整演练本地写代码、远程编译调试光说不练假把式。这一节我拿一个非常典型的多文件 C 项目来演示。项目里有一个头文件、两个源文件和一个入口文件逻辑不复杂但足够覆盖头文件包含、函数跨文件调用、断点调试这些场景。5.1 项目结构设计与 CMake 还是 gcc 的选择项目目录结构我习惯分成这样demo-project/ ├── include/ │ └── math_utils.h ├── src/ │ ├── math_utils.c │ └── main.c └── .vscode/ ├── tasks.json └── launch.json问题来了小项目用 gcc 直接编译还是引入 CMake我自己的判断标准是看项目规模和依赖情况。如果只有几个源文件直接 tasks.json 里写 gcc 命令最直观。一旦编译规则开始变得复杂比如有多个子目录、需要链接第三方库我就会换成 CMake。上面的项目我直接用 gcc 也可以但为了演示 CMake 的远程实用性我会在模式 A 里用 gcc 命令覆盖模式 B 里给出 CMake 的配置。目标都是生成为一个可执行程序你可以选适合自己的一种。5.2 从克隆代码到第一次成功构建假设你已经连接到服务器第一步是把代码取到当前工作区。之后打开 .vscode/tasks.json我用 gcc 的模式写这样一个任务{ label: build demo, command: gcc, args: [ -g, -I, ${workspaceFolder}/include, ${workspaceFolder}/src/math_utils.c, ${workspaceFolder}/src/main.c, -o, ${workspaceFolder}/bin/demo ] }这里有一个容易踩的坑如果可执行文件要输出到 bin 子目录一定要先确认这个目录存在否则链接阶段直接报错找不到路径。我的习惯是在任务里先加一个 shell 命令 mkdir -p或者单独创建一个构建脚本让任务去执行脚本而不是直接调 gcc。这样以后编译参数变动只要改脚本就行还能顺便处理目录创建、清理旧产物这类杂活。5.3 打断点、看变量、查内存一次真实的调试过程一切配置好之后我在 main.c 里调用 math_utils.c 里的一个加法函数。先在调用那一行加一个断点然后按下 F5。程序会停在断点处左侧调试面板会显示此时各个局部变量的值。单步进入后你能看到参数是怎么传递的函数返回值又是在哪里产生的。对 C/C 新手来说调试器里最有价值的不是看变量的值而是理解程序的执行流。我见过不少同学用 printf 到处打印来调试倒不是说不行只是当程序规模变大这效率太低。断点调试能让你直接观察内存地址里的内容。比如处理一个指针变量时你可以看它的地址、它指向的值、以及值的变化过程这种直观感是 print 语句很难替代的。还有一点值得多说远程调试时断点、单步、监视变量这些操作和本地完全一样。因为调试器运行在服务器上只是把结果反馈到你的本地界面。一旦你理解了这个本质你就不会再担心远程调试是不是功能缺失。6. 用久了才明白的优化习惯给新手的几条实在建议配置能跑通只是第一步真正让开发体验稳定提升的往往是日常使用细节。最后这部分我把自己长期积累的单子整理一下这几条都来自实际教训。6.1 配置同步和代码风格统一现在的 VSCode 普遍支持登录后同步设置、扩展和代码片段。我建议在初始化的第一时间就把同步打开这样你换电脑或者重装系统之后几分钟内就能恢复熟悉的环境。需要注意的是同步配置不等于同步工作区文件你在 .vscode 里为项目做的特定设置仍然需要跟着代码仓库走。代码风格统一我前面提过 clang-format。真正落实到团队项目时我会在项目根目录放一个 .clang-format 文件规定缩进宽度、大括号风格、排序规则等。然后设置 VSCode 保存时自动执行格式化。这样不管团队里谁提交代码风格都是差不多的code review 的时候更容易把注意力放在逻辑上。6.2 .vscode 目录应该提交到仓库吗这可能是很多团队经常争论的问题。我的意见是分文件看。tasks.json 和 launch.json 如果记录的是项目通用的构建调试方式那提交到仓库反而有好处新同事拉下代码就能直接使用。但 c_cpp_properties.json 里可能会包含本机特有的路径不同机器有差异就要谨慎提交。更保险的做法是把公共配置放进仓库而在本地通过用户级的设置去覆盖差异。比如编译器路径、个人格式化偏好这些放用户设置里而构建参数、调试入口这类人人相同的内容放项目配置里。这个划分方式不是死的但对多数团队来说足够用。6.3 我觉得最重要的几个小习惯第一不要让任务和配置里的路径带空格或中文。虽然现代工具已经能处理但一旦涉及到远程和跨平台这些路径会变成麻烦的来源。我在本地项目里全程用英文目录名见效最直接。第二养成先看 Tasks 输出再下结论的习惯。我见过太多人编译报错后一脸茫然其实错误信息就在终端面板里往往前几行就指出了文件、行号和原因。第三定期清理不用的扩展。扩展不是越多越好装多了不仅启动慢还容易产生莫名的互相干扰尤其远程开发时每个扩展都要在服务器端重新加载精简是有实际价值的。最后再分享一个我个人的体会工具配置这件事入门的时候感觉很琐碎但不要因此烦躁。你花十几分钟把 tasks.json 写好把调试流程跑通省下来的是后面无数次重复敲命令的时间。而且每次配置失败的过程其实都在帮你更彻底地理解编译器和调试器的工作方式。这种收益换任何一家全家桶 IDE 都是很难给你的。

相关新闻

SVG神经网络可视化:零框架实现FCNN/LeNet/AlexNet前向传播动态渲染

SVG神经网络可视化:零框架实现FCNN/LeNet/AlexNet前向传播动态渲染

简介:本资源是一款专为深度学习教学与可视化设计的神经网络架构绘图工具,面向高校学生、AI初学者及课程讲师,解决神经网络结构难以直观理解的问题。它支持FCNN、LeNet和AlexNet三类经典模型的SVG级图形生成,覆盖从基础全连接到里程…

2026/10/12 4:13:31 阅读更多 →
栈与队列习题全解析:从出栈序列到循环队列的避坑指南

栈与队列习题全解析:从出栈序列到循环队列的避坑指南

学数据结构的时候,很多人对“栈和队列”这一章的态度是:概念太简单了,不就是后进先出和先进先出嘛,没什么可学的。结果一到做题就被各种出栈序列、循环队列判满判空、括号匹配、表达式转换轮番教做人。这一章的知识点确实不多&…

2026/10/12 4:13:31 阅读更多 →
AI日报类内容的技术实现与工程化方法

AI日报类内容的技术实现与工程化方法

我无法根据当前输入生成符合要求的博文。原因如下:输入中仅提供了项目标题"AI 日报(2026年10月7日)",但未提供任何实质性的【项目正文】、【关键词】或【摘要描述】。原始结构要求中明确说明:必须基于“项目…

2026/10/12 4:13:31 阅读更多 →

最新新闻

开源+私有化:打造能主动干活的企业AI工作伙伴

开源+私有化:打造能主动干活的企业AI工作伙伴

1. 从"只会聊天"到"能干活":企业AI落地的真实断层在哪过去两年,我参与过好几个企业内部的AI助手项目,几乎每一个都经历过同样的尴尬:上线第一周大家图新鲜,问天气、写周报、翻译邮件,用…

2026/10/12 6:24:44 阅读更多 →
Hermes Agent 实战指南:从安装配置到自主任务执行

Hermes Agent 实战指南:从安装配置到自主任务执行

1. 认识 Hermes Agent:它到底能帮你干什么第一次听到“Hermes Agent”这个名字,我脑子里冒出来的是希腊神话里那个脚底生风的信使。后来实际用上这个工具,发现这名字起得还挺贴切——它确实是个帮你来回奔走、传递指令、把杂活干完的“跑腿者…

2026/10/12 6:24:44 阅读更多 →
VMware Workstation从入门到排错:虚拟机练手全攻略

VMware Workstation从入门到排错:虚拟机练手全攻略

坦白说,我最初接触VMware并不是因为工作需求,而是被折腾Linux系统的热情逼的。电脑上装个双系统总得来回重启,Windows和Ubuntu切换一次要等好几分钟,写一行配置还要惦记着别把宿主机搞崩。后来换成VMware Workstation跑虚拟机&…

2026/10/12 6:24:44 阅读更多 →
TortoiseSVN实战指南:从安装避坑到分支合并与钩子配置

TortoiseSVN实战指南:从安装避坑到分支合并与钩子配置

简介:面向 Windows 开发者的 SVN 客户端工具资料包,围绕小乌龟 TortoiseSVN 的实际使用场景展开,适合刚接触版本控制的新手,也适合需要快速配置仓库和规范提交流程的团队开发人员。资料从安装与认证配置讲起,先后梳理检…

2026/10/12 6:24:44 阅读更多 →
Go中invalid receiver type报错详解与修复

Go中invalid receiver type报错详解与修复

上午编译项目时,被一行报错拦住了:dao/streamer_business.go:75:10: invalid receiver type StreamerRequest (pointer or interface type)。第一反应有点懵:StreamerRequest 明明是我在这个文件里自己定义的类型,字段都写好了&am…

2026/10/12 6:24:43 阅读更多 →
知识工作插件实战指南:选型逻辑、配置思路与工作流搭建

知识工作插件实战指南:选型逻辑、配置思路与工作流搭建

我一直觉得,“knowledge-work-plugins”这个组合词,比我们常说的“效率工具”更能概括知识工作者的真实处境。知识工作不是简单的打字和搜索,它的日常是找资料、读文章、提炼观点、组织素材、写稿,再到维护自己的知识库。这一整串…

2026/10/12 6:23:43 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →