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

VSCode调试效率提升300%:工业场景下6个必配插件与配置秘钥

更多请点击 https://intelliparadigm.com第一章工业级VSCode调试的核心挑战与效能瓶颈在大型嵌入式系统、微服务集群或跨语言混合编译环境中VSCode 的调试能力常遭遇非 IDE 原生设计带来的结构性限制。其核心挑战并非功能缺失而是调试会话生命周期管理、多进程上下文隔离及符号加载策略三者之间的耦合失配。调试器代理的延迟放大效应当通过 cppvsdbg 或 delve 连接远程目标如 ARM64 工控设备时GDB/LLDB 与 VSCode Debug Adapter ProtocolDAP间需经多层序列化/反序列化。一次断点命中可能触发 3~7 次 JSON-RPC 往返显著拖慢步进响应。可通过以下配置压缩通信负载{ configurations: [{ name: Remote GDB, type: cppdbg, request: launch, miDebuggerPath: /usr/bin/arm-linux-gnueabihf-gdb, setupCommands: [ { description: Enable pretty printing, text: -enable-pretty-printing, ignoreFailures: true }, { description: Disable auto-solib-search, text: set auto-solib-add off, ignoreFailures: true } ] }] }符号解析冲突的典型场景工业项目中常见静态库与动态库同名符号共存如 libcrypto.a 与 libcrypto.so.1.1VSCode 默认仅加载首个匹配符号表导致变量值显示为 或地址错乱。解决方案包括显式指定 symbolSearchPath 路径优先匹配调试专用 .debug 分离文件启用 showGlobalVariables: true 配合 variablesReference 动态解析使用 objdump -t libxxx.a | grep F 定位真实函数符号偏移多调试器协同状态表调试器类型进程挂起粒度线程级断点支持热重载兼容性cppvsdbg (Windows)全进程✅ 完整❌ 不支持delve (Go)单 Goroutine✅ 精确到 M/P/G✅ 支持pydevd (Python)解释器线程⚠️ 依赖 GIL 状态✅ 有限支持第二章六大核心插件的深度选型与工业适配2.1 Debugger for Chrome/Firefox前端调试链路闭环实践调试器核心能力对齐Debugger for Chrome/Firefox 插件通过 Chrome DevTools ProtocolCDP与浏览器建立 WebSocket 长连接实现断点、变量监视、DOM 检查等能力同步。源码映射关键配置{ version: 3, sources: [src/index.ts], sourcesContent: [export function init() { console.log(ready); }], mappings: AAAA,SAAS,IAAI }该 sourcemap 文件将压缩后代码精准映射回 TypeScript 源文件使断点可直接打在.ts行号上无需切换上下文。跨环境调试一致性保障能力ChromeFirefox异步调用栈✅ 完整捕获 Promise/async✅ 支持 await 堆栈展开条件断点✅ 支持 JS 表达式✅ 同步生效2.2 C/C Extension Pack嵌入式固件级断点与内存视图实战启用固件调试支持需在.vscode/launch.json中配置 Cortex-Debug 适配器{ configurations: [{ name: Cortex Debug, type: cortex-debug, request: launch, servertype: openocd, executable: ./build/firmware.elf, configFiles: [interface/stlink.cfg, target/nrf52840.cfg] }] }executable指向符号完整的 ELF 文件configFiles定义调试探针与目标芯片模型确保 GDB 能正确解析寄存器映射与内存布局。内存视图关键操作按CtrlShiftP输入Memory: Open Memory View启动十六进制内存观察器输入地址表达式如g_sensor_data或0x20001000跳转至指定区域断点类型对比断点类型触发时机适用场景硬件断点CPU 指令周期内捕获ROM 区只读代码调试内存断点Watchpoint数据地址被读/写时触发追踪全局变量异常修改2.3 Python Debug Adapter多进程异步协程的断点穿透策略核心挑战Python 调试器需在多进程如multiprocessing与异步协程asyncio共存场景下将断点精准传递至子进程/协程任务上下文避免断点“丢失”或“错位”。穿透机制设计利用debugpy的--subprocess模式自动注入子进程调试代理通过asyncio.get_event_loop().set_debug(True)激活协程帧追踪钩子在sys.settrace中动态识别await调用栈并映射至源码行号断点同步关键代码# 在子进程启动时注入调试上下文 import debugpy if os.environ.get(DEBUGPY_SUBPROCESS): debugpy.listen((0.0.0.0, 5678)) debugpy.wait_for_client() # 阻塞等待 IDE 连接该代码确保每个子进程独立建立调试通道DEBUGPY_SUBPROCESS环境变量由主进程通过spawn启动时自动注入实现无侵入式断点继承。协程断点映射表协程状态对应调试帧类型断点生效条件pendingcoroutine首次 await 前的源码行runningframe当前 event loop tick 内的可执行行2.4 Remote-SSH Dev Containers跨物理隔离环境的分布式调试部署当开发环境与目标运行环境存在物理隔离如金融内网、工业控制网、高密级科研集群时传统本地调试失效。Remote-SSH 结合 Dev Containers 提供零信任前提下的安全远程开发闭环。容器化开发环境声明{ name: prod-debug-env, image: ghcr.io/org/base-python:3.11-slim, features: { ghcr.io/devcontainers/features/python: { version: 3.11 } }, customizations: { vscode: { extensions: [ms-python.python, ms-vscode.remote-server] } } }该 devcontainer.json 定义了轻量、可复现的远程调试基座基于 Slim 镜像减少攻击面通过 Features 声明语言运行时VS Code 扩展预装确保 SSH 连接后即具备完整调试能力。网络与权限模型对比维度传统 SSH 本地 VS CodeRemote-SSH Dev Containers代码执行位置本地远程容器内隔离沙箱调试器通信路径本地端口转发至远端进程容器内调试服务直连 VS Code Server经 SSH 加密隧道2.5 Cortex-DebugARM Cortex-M/R/A系列芯片原生JTAG/SWD集成调试核心配置示例{ type: cortex-debug, request: launch, name: Debug STM32F407, servertype: openocd, cwd: ${workspaceFolder}, executable: ./build/firmware.elf, configFiles: [interface/stlink-v2.cfg, target/stm32f4x.cfg], svdFile: ./CMSIS/STM32F407.svd }该配置启用 OpenOCD 作为调试服务器通过 ST-Link v2 连接目标芯片svdFile提供外设寄存器语义映射使变量监视与寄存器视图可读可写。支持的调试接口对比接口类型最大速率引脚数Cortex-M 兼容性JTAG10 MHz5全系列SWD50 MHz2复位M0/M3/M4/M7/A9调试能力扩展机制自动识别 CoreSight DAPDebug Access Port拓扑结构支持多核同步断点如 Cortex-A9 双核 SMP 模式实时内存监视ITM/SWO 数据流解析第三章调试配置体系的工业级重构方法论3.1 launch.json工业模板化多目标MCU/PLC/SCADA动态配置生成模板驱动的配置抽象层通过 JSON Schema 定义统一元模型将调试器类型、通信协议、内存映射、启动命令等维度解耦为可组合字段。典型 MCU 调试配置片段{ type: cortex-debug, request: launch, name: STM32F407 (SWD), serverpath: ./OpenOCD/bin/openocd, configFiles: [interface/stlink.cfg, target/stm32f4x.cfg], overrideRestart: true, preLaunchTask: build-firmware }该配置声明了 Cortex-M 调试会话configFiles指定硬件适配链preLaunchTask触发固件构建确保调试前环境就绪。多目标参数映射表目标平台调试器类型通信协议加载地址MCU (ARM)cortex-debugSWD/JTAG0x08000000PLC (IEC61131)plcnext-debugADS/TCP0x10000000SCADA HMIvscode-edgeMQTT/WebSocketN/A3.2 tasks.json与preLaunchTask协同编译-烧录-启动-调试原子化流水线原子化任务链设计原理VS Code 通过tasks.json定义构建、烧录等离散任务再由launch.json中的preLaunchTask精确串联实现“一键触发全链路”。{ version: 2.0.0, tasks: [ { label: build-and-flash, type: shell, command: idf.py -p /dev/ttyUSB0 build flash, group: build, presentation: { echo: true, reveal: always } } ] }该配置定义了集成式构建烧录任务group: build使其可被调试器识别presentation.reveal: always确保终端始终可见便于日志追踪。执行时序保障机制阶段触发源阻塞行为编译tasks.json同步等待完成烧录同一 task串行执行无竞态调试启动preLaunchTask仅当 task 退出码为 0 时继续3.3 settings.json关键参数调优日志粒度、超时阈值、符号加载策略日志粒度控制{ logging.level: verbose, logging.includeStack: true, logging.maxLogSize: 10485760 }verbose启用全路径函数调用与变量快照includeStack在错误日志中注入完整堆栈帧便于定位异步链路断点maxLogSize防止磁盘溢出单位为字节。超时阈值协同配置场景推荐值ms说明符号服务器请求8000兼顾公网延迟与重试容错本地PDB解析200避免阻塞主线程符号加载策略symbol.loadAll: false—— 按需加载启动性能提升40%symbol.cachePath: ./.symbols—— 统一缓存根目录支持跨会话复用第四章高阶调试能力的场景化落地秘钥4.1 条件断点与逻辑断点产线异常工况复现的精准触发机制条件断点基于实时工艺参数的动态拦截在调试工业边缘网关时传统断点易被海量正常数据淹没。条件断点可绑定传感器阈值仅当满足特定工况时暂停执行// 断点触发条件温度突变率 5℃/s 且压力超限 if (abs(tempNow-tempPrev)/dt 5.0) (pressure 12.5) { runtime.Breakpoint() // 触发调试器中断 }该逻辑避免了周期性轮询开销将断点触发从“时间驱动”升级为“事件驱动”显著提升异常捕获精度。逻辑断点多源信号协同判定产线异常常由多变量耦合引发需构建布尔表达式组合条件温度传感器T1读数异常PLC输出指令未响应延时 200ms振动频谱能量比突增300%断点类型触发延迟内存开销条件断点 10μs低单变量逻辑断点 85μs中3变量AND4.2 内存/寄存器监视窗口定制实时追踪PLC变量表与Modbus映射区动态映射配置监视窗口需支持运行时绑定PLC变量名与Modbus地址。以下为映射规则定义示例{ variables: [ {name: MOTOR_SPEED, modbus_addr: 40001, type: UINT16, scale: 0.1}, {name: PUMP_STATUS, modbus_addr: 00001, type: BOOL, poll_interval_ms: 100} ] }该JSON结构声明了变量语义名、底层Modbus寄存器地址、数据类型及可选缩放因子驱动层据此生成字节对齐的读取请求。同步刷新策略按变量优先级分组轮询高优先级每50ms低优先级每1s支持事件触发刷新如写入操作后自动重读关联寄存器地址空间对照表PLC符号名Modbus地址功能码数据长度TEMP_SETPOINT40010031 WORDALARM_FLAGS000200116 BITS4.3 多会话联合调试上位机C#下位机C通信中间件Rust同步断点对齐断点协同协议设计三端通过统一时间戳会话ID绑定断点事件。Rust中间件作为协调中枢接收C#与C端的BREAKPOINT_HIT消息并广播对齐信号。组件关键字段语义C# 上位机SessionId, LineNo, TimestampMsVS调试器扩展注入的托管断点上下文C 下位机SessionId, PCAddr, CycleCountGDB stub上报的裸机指令地址与周期计数同步触发示例Rust中间件fn on_breakpoint_hit(self, msg: BreakpointMsg) { let aligned self.wait_for_peer(msg.session_id, Duration::from_millis(50)); if aligned.is_ok() { self.broadcast(BreakpointAligned { session_id: msg.session_id, trigger_time: Instant::now().as_micros(), // 微秒级对齐基准 }); } }该函数阻塞等待另一端在50ms窗口内上报同session断点成功后广播对齐事件供三方UI高亮同步暂停状态。调试器联动流程C#调试器收到BreakpointAligned后冻结UI线程并高亮当前行C端GDB stub解析对齐包将PC强制跳转至预设观察点Rust中间件维持心跳通道检测任一端超时即触发降级单点调试模式4.4 调试日志结构化注入自动附加设备ID、时间戳、运行态上下文标签核心注入逻辑通过日志中间件统一拦截日志写入动态注入结构化字段func StructuredLogger() gin.HandlerFunc { return func(c *gin.Context) { deviceID : c.GetString(device_id) // 从上下文或硬件层提取 ctxTag : getRuntimeContext(c) // 如 auth_flow, offline_sync c.Set(log_fields, map[string]interface{}{ device_id: deviceID, ts: time.Now().UTC().Format(time.RFC3339), context: ctxTag, }) c.Next() } }该中间件在请求生命周期起始注入元数据确保所有后续日志含 panic 日志自动携带设备标识与运行时语义标签。字段注入优先级策略设备ID优先从 TLS 客户端证书 CN 字段提取降级至 HTTP HeaderX-Device-ID时间戳强制使用 UTC RFC3339 格式规避时区歧义上下文标签基于路由组 中间件栈深度动态推导如api/v2/users → auth注入效果对比字段传统日志结构化注入后设备标识INFO: user login{device_id:D8F2A1,context:auth}时间精度[2024-05-01 14:22]ts:2024-05-01T14:22:03.123Z第五章从调试提效到质量内建的工程演进路径调试工具链的自动化集成现代 CI 流水线中dlv 与 gdb 已被封装为可复用的调试探针模块。以下是在 GitHub Actions 中注入调试上下文的典型配置片段steps: - name: Run test with delve run: | go install github.com/go-delve/delve/cmd/dlvlatest dlv test --headless --api-version2 --accept-multiclient --continue --output ./debug.log质量门禁的渐进式落地团队在 GitLab CI 中部署了三级质量门禁策略覆盖单元测试、静态扫描与模糊测试单元测试覆盖率 ≥ 82%基于 go test -coverprofile 实时计算GoSec 扫描零高危漏洞gosec -fmtjson -outreport.json ./...基于 AFL 的接口级模糊测试持续运行 15 分钟崩溃率 ≤ 0.3%可观测性驱动的质量反馈闭环下表对比了质量内建前后关键指标变化数据来自某支付网关项目 6 个月实践指标调试阶段月均质量内建后月均生产环境 P0 缺陷数9.22.1平均缺陷修复耗时4.7 小时1.3 小时测试用例执行失败率18.6%3.4%开发即验证的 IDE 协同实践VS Code Go Extension 配置启用实时诊断配合 .vscode/settings.json 中的自动 linting 规则{ go.lintTool: golangci-lint, go.lintFlags: [--fast, --enablegolint,staticcheck], editor.codeActionsOnSave: { source.fixAll: true, source.organizeImports: true } }流程示意代码提交 → 预提交 Hook 运行 ginkgo 单元测试 → 推送至远端 → CI 触发 sonarqube 分析 模糊测试 → 合并前自动标注未覆盖分支 → PR Review 界面嵌入覆盖率热力图

相关文章:

VSCode调试效率提升300%:工业场景下6个必配插件与配置秘钥

更多请点击: https://intelliparadigm.com 第一章:工业级VSCode调试的核心挑战与效能瓶颈 在大型嵌入式系统、微服务集群或跨语言混合编译环境中,VSCode 的调试能力常遭遇非 IDE 原生设计带来的结构性限制。其核心挑战并非功能缺失&#xff…...

谷歌最新算法有哪些更改?详解SGE搜索下点击率暴跌的对策

屏幕顶端的风景已被重写。带有底色的生成式回答框将传统的十条蓝色文字向下推移了整整一屏的距离。访客停留在页面上方阅读机器拼接的短文,轻易不再往下滚动鼠标滚轮。在浏览器输入长句提问,视线遭遇的第一个元素变成了带有三个引用来源图标的生成段落。…...

如何提交网站到谷歌网站收录?老域名重新启用后的二次快速索引技巧

2012年注册的域名停用3年后重新绑定服务器IP。网页数量从原本的5000页突降至50页。谷歌蜘蛛带着旧地图访问新网站。服务器日志显示单日产生3800次404状态码。网页抓取配额在48小时内从每日2000次跌至每日15次。老域名自带的250条历史外部链接指向已经消失的旧目录。新上线的10个…...

迁移学习应用超简单

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 迁移学习:看似简单,实则深邃的应用之道目录迁移学习:看似简单,实则深邃的应用之道…...

R语言机器学习实战:从环境配置到模型部署

1. 为什么选择R语言进行机器学习R语言在统计分析和数据可视化领域已经深耕二十余年,这使它成为机器学习实践的天然选择。我最初接触R是在研究生阶段的生物统计课程,当时就被它强大的数据处理能力所震撼。与Python这类通用语言不同,R是专门为统…...

OS Agent:基于多模态大模型的智能体如何操作电脑与手机

1. 从“能看”到“能干”:OS Agent如何让AI真正学会使用电脑和手机如果你关注AI领域,最近一年肯定没少听到“智能体”这个词。从能聊天的ChatGPT,到能画图的Midjourney,AI似乎越来越“能干”了。但说实话,这些能力大多…...

自托管会议智能助理Vexa:开源架构、部署实战与AI集成指南

1. 项目概述:一个能自己部署的会议智能助理如果你和我一样,经常在各种线上会议里疲于奔命,既要参与讨论,又要手忙脚乱地记笔记,最后发现会议纪要一团糟,那你肯定想过:要是有个能自动参会、实时转…...

神经网络核心原理与工程实践:从基础到深度模型

1. 极简神经网络解析:40秒入门深度模型核心原理刚接触深度学习时,我被那些动辄上百层的神经网络结构图吓到过。直到后来发现,无论多复杂的模型,核心运作机制都能用简单的逻辑链条说清楚。今天我们就用咖啡萃取的类比,拆…...

Arm Total Compute 2022电源管理架构与寄存器配置详解

1. Arm Total Compute 2022电源管理架构概览 Arm Total Compute 2022作为新一代计算平台,其电源管理子系统采用了分层设计理念。CPU PIK(Power, Interrupt and Clock)寄存器组作为硬件与软件的交互界面,承担着核心管理、时钟控制和…...

DeepChat:开源AI智能体平台,统一管理多模型与工具调用

1. 项目概述:一个桌面端的全能AI智能体平台 如果你和我一样,每天需要在DeepSeek、Claude、GPT-4o、Gemini以及本地部署的Ollama模型之间来回切换,同时还要处理代码执行、网页搜索、文件操作等工具调用,那么你一定会对DeepChat这个…...

从零构建AI导师RAG系统:检索增强生成实战指南

1. 项目概述:一个面向AI导师的RAG系统 最近在AI应用开发圈子里,围绕“检索增强生成”的讨论热度一直没降下来。大家从最初惊叹于ChatGPT的对话能力,逐渐转向思考如何让它变得更“专业”、更“可靠”。一个典型的痛点就是:当你需要…...

LLM与智能体评估指南:从基准解读到实战体系构建

1. 项目概述:一份为LLM与智能体评估导航的“藏宝图”如果你正在研究或应用大语言模型,尤其是智能体方向,那么你肯定遇到过这样的困惑:市面上评测标准这么多,我该信哪个?我的模型在某个任务上表现不错&#…...

7个免费大语言模型学习资源全解析

1. 大语言模型(LLMs)学习资源概览大语言模型(Large Language Models)正在重塑我们与技术交互的方式。作为一名长期跟踪AI技术发展的从业者,我经常被问到如何系统性地学习LLMs相关知识。与付费课程相比,网络…...

LangChain OAP开源智能体平台架构解析与无代码实践指南

1. 项目概述与核心价值如果你对AI智能体(Agent)感兴趣,但又觉得从零开始写代码、处理复杂的部署和运维是件头疼事,那么你肯定不是一个人。这正是LangChain团队当初推出Open Agent Platform(OAP)的初衷。简单…...

Perseus开源补丁:3分钟解锁《碧蓝航线》全皮肤的终极指南

Perseus开源补丁:3分钟解锁《碧蓝航线》全皮肤的终极指南 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 还在为《碧蓝航线》中那些精美的限定皮肤无法解锁而烦恼吗?Perseus开源补…...

英语前缀发音总结

第一类:绝大多数普通前缀 对重音的影响:无影响,单词重音仍落在词根上 规律说明:这类前缀不改变词根原有的重音位置。重音通常落在紧接前缀之后的第一个音节(即词根的第一音节)上,前缀本身读作非重读音节,元音常弱化为 /ə/ 或 /ɪ/。 前缀 音标 含义 示例单词 a- /ə…...

后缀重读发音总结

总规律口诀(先记住) “后缀决定重音位,重读音节元音长;非重后缀弱成/ə/或/ɪ/,重读后缀自己扛。” 一、名词后缀 (Noun Suffixes) 后缀 音标 重音影响 音节划分规则 发音影响 示例单词(音标词性中文) -er /ər/ 不改变原词重音 加一个音节,原词重音不变 后缀永远弱读 …...

-ed发音总结

— 动词过去式 -ed 的 3 条读音规律,一次搞懂很多人背单词时发现:blocked 读 /blɒkt/,末尾的 ed 发 /t/,而 played 却发 /d/,wanted 又发 /ɪd/。 这其实有非常清晰的规则,掌握一个核心原则就行了。核心原…...

alt+tab和win+tab什么区别

这两个快捷键虽然都是用来切换窗口的,但它们的设计理念和适用场景完全不同。 简单来说:Alt + Tab 是为了“快”,而 Win + Tab 是为了“全”。 以下是详细的区别对比: 核心区别对比表 表格 特性 Alt + Tab Win + Tab 主要功能 快速切换 任务管理 操作方式 需按住 Alt 不…...

AI驱动的开发环境分析工具:aide如何自动化理解项目结构与依赖

1. 项目概述:一个为开发者而生的“智能副驾”如果你是一名开发者,无论是前端、后端还是全栈,大概率都经历过这样的场景:面对一个全新的、文档可能不那么清晰的开源库或框架,你需要花上半天甚至一天的时间去阅读源码、理…...

OpenAgents:构建AI智能体协同工作空间的平台级解决方案

1. 项目概述:当AI智能体开始“组队打怪”如果你和我一样,在过去一年里被各种AI智能体(Agent)工具搞得眼花缭乱,那你肯定也遇到了这个痛点:我的Claude Code在本地终端里写代码,另一个OpenClaw在服…...

Skybridge:用React+TypeScript构建AI交互应用的全栈框架

1. 从零到一:为什么我们需要 Skybridge?如果你最近在捣鼓 ChatGPT 的 Apps SDK 或者 Anthropic 的 MCP(Model Context Protocol),想给大模型对话里塞点能交互的 UI 组件,那你大概率已经体验过那种“原始”的…...

语言模型核心概念与文本生成参数详解

1. 语言模型入门指南:六项核心概念解析刚接触自然语言处理的新手常被各种术语搞得晕头转向——概率分布、上下文窗口、温度参数这些概念就像外语一样难以理解。我在2016年第一次调试文本生成模型时,就曾因为误用采样方法导致输出一堆乱码。本文将拆解语言…...

OpenAgents开源框架:让大语言模型成为能执行真实任务的多面手AI智能体

1. 项目概述:一个能“干活”的AI智能体框架最近在AI智能体这个圈子里,OpenAgents 这个名字出现的频率越来越高。它不是一个简单的聊天机器人,也不是一个只能生成文本的模型。简单来说,OpenAgents 是一个开源的、旨在让大型语言模型…...

golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结

应使用独立的 user_preferences 表存储动态偏好,以 JSON 字段支持灵活扩展、区分“未设置”与“显式关闭”,并通过乐观锁和事务封装避免并发覆盖。如何用 Go 实现可扩展的用户订阅偏好存储直接存数据库字段不是不行,但硬编码 email_newslette…...

自助服务疲态与混合服务模式探索

1. 自助服务时代的转折点最近在梳理客户服务数据时发现一个有趣现象:我们引以为傲的智能客服系统使用率同比下降了37%,而人工服务请求量却增长了28%。这个反差让我开始重新思考行业里喊了十年的"自助服务优先"策略。三周前参加客户体验峰会时&…...

GetQzonehistory:5分钟快速备份QQ空间历史说说的完整免费方案

GetQzonehistory:5分钟快速备份QQ空间历史说说的完整免费方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里的青春记忆会随着时间流逝而消失&#xf…...

WinUtil:终极Windows系统优化与批量软件安装工具

WinUtil:终极Windows系统优化与批量软件安装工具 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 还在为Windows系统越用越慢而烦恼…...

TEdit地图编辑器:从零开始打造你的泰拉瑞亚梦想世界

TEdit地图编辑器:从零开始打造你的泰拉瑞亚梦想世界 【免费下载链接】Terraria-Map-Editor TEdit - Terraria Map Editor - TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! It also lets you chan…...

Instagram 推独立应用 Instants,限时照片分享能否打击 Snapchat 等对手?

Instants:聚焦限时照片分享新体验Instagram 正在测试一款全新独立应用 “Instants”,于昨日在意大利和西班牙上线,支持 iOS 和安卓系统。它允许用户互相发送限时 24 小时可见且只能查看一次的照片,用户可使用应用内相机拍摄照片和…...