ADT for VS Code 中 .ddls.json 隐藏配置:files.exclude 与 settings.json 骨架

发布时间:2026/9/26 16:25:15

ADT for VS Code 中 .ddls.json 隐藏配置:files.exclude 与 settings.json 骨架 1. 打开 CDS 项目后Explorer 为什么突然多出一排 .ddls.json如果你最近从 Eclipse ADT 转到 ADT for VS Code第一次把一个 ABAP Package 通过 Add Package as Folder to Workspace 加进来展开 Core Data Services → Data Definitions 的时候大概率会愣一下原本在 Eclipse 里干干净净的一个 CDS Data Definition在 VS Code 里变成了两个文件。比如ZI_SO_DEMO下面同时出现zi_so_demo.ddls.acds和zi_so_demo.ddls.jsonZI_SO_DEMO2也是同样的结构。日常写 CDS 的时候我们真正持续编辑的只有.ddls.acds旁边那个.ddls.json长期占着 Explorer 的一行几十个 CDS 对象叠起来就是几十行视觉噪声。这篇就聚焦这个具体问题怎么用files.exclude把.ddls.json从资源管理器里隐藏掉为什么它不能当垃圾文件删除以及隐藏之后怎么验证 CDS 语法提示、跳转、激活这些能力仍然正常。先说结论方便你判断要不要往下看.ddls.json可以隐藏而且现阶段比较合适的办法不是改 SAP 对象、不是删除文件而是用 VS Code 自带的files.exclude机制只在 Explorer 显示层把这类文件过滤掉。适合的人群是正在用 ADT for VS Code 做 CDS / RAP 开发、觉得 Explorer 太挤、又不想破坏 ABAP Repository Object 表示的开发者。下面从原理到配置到排障一步步给可复制的骨架。2. 先搞清楚 .ddls.json 是什么为什么不能删2.1 它不是临时文件是对象的 Properties File Part很多人第一反应是「这不就是 ADT 生成的缓存吗删了应该没事」。这个判断是错的。SAP 官方文档专门解释过这些 JSON 为什么会出现在 Workspace 里Eclipse ADT 和 ADT for VS Code 在开发对象的呈现方式上有明显的架构差别。Eclipse ADT 有大量专门的 View 和 Form Based Editor一个开发对象的 Properties 可以放在独立的 Properties View 里显示。到了 VS CodeSAP 采用的是更文件化的表达方式开发对象全部走 Source Based Editor而对象的属性比如 description、originalLanguage会被放进带.json后缀的 File Part 中。需要查看这些 Properties 时直接打开对应的.jsonFile Part 即可。所以ZI_SO_DEMO下面的两个文件更准确的理解是SAP 把一个后端 ABAP Repository Object 映射成了多个 VS Code File Part。.ddls.acds承担你平时真正编写和阅读的 CDS Source.ddls.json更接近这个 ABAP Development Object 的属性描述。对 Eclipse ADT 来说这些信息原本藏在 Properties View 背后对 VS Code 来说SAP 希望把对象尽量转换成编辑器能理解的文件式资源于是属性信息也获得了一个 File Part。2.2 删掉会发生什么如果你手动删除.ddls.json本质上是把一个 ABAP 对象的属性表示从本地 Workspace 里抹掉。轻则下次同步时它又被拉回来重则依赖这个 File Part 的能力比如 JSON Editor 里的 Metadata 导航、Definition 跳转、Where Used、CodeLens拿不到数据。SAP 甚至专门提供了 JSON Editor 来处理 ABAP Metadata这本身就说明 SAP 没把这些文件定位成噪声。注意Explorer 不显示不等于文件不存在。我们要解决的是「太挤」不是「对象有问题」。这两件事必须分开。2.3 为什么 SAP 不默认帮你隐藏因为对 IDE 来说这个文件确实有功能价值。开发者可能需要查看 PropertiesJSON Editor 可能要做 Definition Navigation其他 VS Code Extension 或 Agent 也可能消费它。如果 Extension 内部彻底隐藏就会削弱文件化架构的一部分优势。比较合理的设计恰恰是 SAP 把 File Part 暴露出来显示层要不要隐藏交给 VS Code 成熟的files.exclude机制处理。3. TaoToken 前置把模型对话和编码能力接进来在动手配files.exclude之前先花几分钟把后面会用到的模型能力准备好。隐藏.ddls.json之后你大概率会想验证两件事一是 CDS 语法提示是否正常二是让编码助手帮你读.acds源码、解释 RAP 行为。这两件事都可以通过 TaoToken 的接口来做。TaoToken 官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 这个不加 UTM。它提供的是统一的模型调用入口你可以把它理解成一个「模型网关」同一个 API Key既能做模型对话也能接进编码工具里当后端。具体分两条路走。如果你只是想快速验证某个 CDS 片段、问一句「这段.acds里的 association 写得对不对」用模型对话就够了入口在 https://taotoken.net/console/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。如果你打算长期在 VS Code 里做 ABAP / CDS 编码甚至跑 Agent 类工作流那更适合用 Coding Plan入口在 https://taotoken.net/console/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。API Key 在控制台生成地址是 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。生成之后先别急着到处贴下面第 4 节会给出一个最小可用的调用骨架第 5 节再验证请求是否通。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 遇到参数不确定的时候对着看。4. 可复制配置settings.json 里 files.exclude 的骨架4.1 最推荐的一条规则针对.ddls.json刷屏这个场景最精准的匹配规则是{ files.exclude: { **/*.ddls.json: true } }**可以跨越任意层级目录后面的*.ddls.json只匹配这种特定后缀的文件。配置以后zi_so_demo.ddls.json、zi_so_demo2.ddls.json都会从 Explorer 里消失而zi_so_demo.ddls.acds、zi_so_demo2.ddls.acds仍然正常保留。像zlearn_could_dev.devck.jsonc这种既不是.ddls.json、扩展名也不是普通.json的文件完全不受影响。4.2 完整 settings.json 骨架如果你希望这个 Workspace 里顺手把其他常见噪声也一起收掉可以用下面这份骨架。注意这是 Workspace 级.vscode/settings.json只影响当前项目{ files.exclude: { **/*.ddls.json: true, **/.git: true, **/.DS_Store: true }, search.exclude: { **/*.ddls.json: true }, files.watcherExclude: { **/*.ddls.json: true } }这里要区分三个设置很多人会混设置项作用范围是否影响 Explorer 显示files.excludeExplorer 显示层是直接隐藏search.exclude文本搜索 / Grep否文件仍显示files.watcherExclude文件监听否仅减少 watcher 负担如果你的目标就是「不想在左侧 Workspace 里看到这些 JSON」那核心是files.exclude。只配search.exclude并不能解决视觉问题文件照样显示在 Explorer 里。4.3 不想改文件用图形界面加 Pattern操作上甚至不必直接编辑settings.json。在 VS Code 里按Ctrl ,打开 Settings搜索files.exclude在对应设置里增加一个 Pattern把 Pattern 填成**/*.ddls.json并启用即可。VS Code 官方文档明确说明files.exclude就是用于控制哪些文件或目录不显示在 Explorer 中的规则采用 Glob Pattern。4.4 Scope 怎么选Workspace 优先VS Code 的 Settings 有 User、Workspace以及 Multi Root Workspace 下更细粒度的 Workspace Folder Scope。files.exclude可以作用于整个 Workspace也可以针对 Multi Root Workspace 中的单独 Folder 配置。我的建议是优先从 Workspace Scope 开始。这样别的 VS Code 项目完全不受影响。如果你平时所有 ADT for VS Code 项目都不希望看到.ddls.json也可以放到 User Scope。由于匹配条件非常精确只匹配.ddls.json对普通 JavaScript、TypeScript、CAP、UI5 和 Node.js 项目的影响通常也很小。注意不要图省事直接配**/*.json。这条规则太宽了。ADT for VS Code 正在越来越多地用 JSON File Part 承载 ABAP 对象属性和工具信息一刀切隐藏所有 JSON后面遇到 Service Binding、Service Definition 或其他采用 JSON File Part 的对象时也可能一起被藏起来。普通项目里的package.json、tsconfig.json、launch.json同样会受影响。4.5 为什么不用 .gitignore 思路普通 Node.js、UI5 或 CAP 项目里我们可能习惯把不关心的文件写进.gitignore再通过explorer.excludeGitIgnore让 VS Code 跟着 Git 的忽略规则隐藏文件。VS Code 确实支持这种行为。但 ADT for VS Code 的 ABAP Package Workspace 并不是一个普通意义上的本地 Git Repository。ABAP 源对象仍然来自 ABAP RepositorySAP 只是把它们映射到 VS Code 的 Workspace 文件模型中。为了隐藏.ddls.json而引入.gitignore思路并不自然直接使用files.exclude更清晰也不会把 Git 的版本控制语义和 ADT 的对象显示语义混到一起。5. 验证请求隐藏后 CDS 语法提示是否仍正常配置完不是就结束了得验证两件事一是 Explorer 确实干净了二是 CDS 的编辑能力没被误伤。下面给一套可跟做的验证流程。5.1 先验证模型接口是通的在验证 CDS 之前先确认你的模型调用链路没问题。用 curl 发一个最小请求curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -d { model: claude-sonnet-4-20250514, messages: [ {role: user, content: 用一句话解释 CDS view entity 和 DDIC view 的区别} ] }把$TAOTOKEN_API_KEY换成你在控制台生成的 Key。返回里能看到choices[0].message.content就说明链路通了。这一步的意义是后面你让助手读.acds源码、解释 RAP 行为时走的是同一条通道。5.2 验证 Explorer 隐藏结果回到 VS Code执行一次Developer: Reload Window命令面板Ctrl Shift P输入即可然后重新展开 Core Data Services → Data Definitions。预期看到的结构接近Core Data Services └── Data Definitions ├── ZI_SO_DEMO │ └── zi_so_demo.ddls.acds └── ZI_SO_DEMO2 └── zi_so_demo2.ddls.acds.ddls.json不再出现.ddls.acds保留。如果某个.devck.jsonc还在那是正常的它不匹配**/*.ddls.json。5.3 验证 CDS 语法提示仍然正常打开zi_so_demo.ddls.acds做三个检查第一语法高亮和错误波浪线是否还在。故意把某个字段类型写错看是否出现红色波浪线再改回来。第二Ctrl Space补全是否还能列出 CDS 关键字和字段。在select from后面触发补全看能否列出关联实体的字段。第三Definition 跳转是否正常。按住Ctrl点击某个 association 目标看能否跳到对应的.ddls.acds。这三项都正常说明files.exclude只影响了显示层没有破坏 Language Server 对.acds的解析。因为.ddls.json只是被 Explorer 隐藏文件本身还在磁盘上ADT 扩展和 Language Server 依然能读到它。5.4 需要看 Metadata 时怎么临时恢复如果你正在研究某个对象为什么属于特定 Package、它的 Description 是什么、Original Language 如何设置或者需要用 SAP JSON Editor 查看对象 Metadata那就临时把规则关掉。最快的办法是在 Settings 里把**/*.ddls.json这一条的勾去掉或者临时改成falseReload Window 后文件就回来了。查完再打开。提示把这种配置理解成 Developer Experience Filter而不是 File Deletion。日常开发时隐藏需要查看 Metadata 时临时关闭比删除、改名或者试图阻止 ADT 生成 File Part 安全得多。6. 本篇常见错排查6.1 配了规则但文件还在先确认files.exclude配的是当前 Workspace 或 User Scope而不是另一个无关 Workspace。再确认 Pattern 用的是/风格的 Glob 规则VS Code 官方说明即使在 Windows 环境Glob Pattern 也统一使用/表达路径。确认规则本身没问题后执行一次 Reload Window 或重新展开 Workspace。6.2 普通本地文件能隐藏ADT 映射的文件夹不响应如果同样的files.exclude对普通本地文件正常工作唯独 SAP ADT 映射出的 Workspace Folder 不响应那问题更可能落在当前 ADT for VS Code 版本对虚拟文件系统或 Explorer Filter 的兼容行为上。这种情况下不要反过来删除.ddls.json那是在绕开显示问题破坏对象表示。更稳妥的处理是升级到当前最新的 SAPSE ADT for VS Code Extension并把能复现的 Workspace Pattern、Extension Version 和 Backend Release 一起反馈给 SAP。6.3 误伤了其他 JSON如果你之前配了**/*.json发现package.json、tsconfig.json或某些 Service Binding 的 JSON File Part 也不见了把规则收窄成**/*.ddls.json即可。精确匹配永远比一刀切稳妥。6.4 隐藏后搜索不到内容了这是预期行为。files.exclude不只是影响 Explorer它还可能让这些文件退出文本搜索、Grep 和 Semantic Index。现代 VS Code 已经不只是文本编辑器Workspace 还可能被 Coding Agent 用来构建代码上下文。把.ddls.json排除反而能让 Search Context 更集中在 CDS Source减少无关上下文和 Token 消耗。假设一个 RAP Package 里有几十甚至上百个 CDS Data Definition如果每个对象都同时暴露.acdsSource 和.jsonPropertiesAgent 做 Workspace Search 时很可能同时搜出两套资源。真正需要理解业务查询逻辑的时候.acds才是主要信息来源Description、Original Language 等 Property Metadata 往往不是关键上下文。6.5 找不到 SAP 专属的隐藏开关当前 SAP 官方文档中没有专门针对.ddls.json的 ADT 设置比如所谓 Hide Property Files 或 Hide JSON File Parts 这样的独立开关。官方文档主要说明 JSON File Part 的用途、JSON Editor 的功能以及 VS Code Settings 作为客户端行为配置入口。所以更自然的解决方案仍然是走 VS Code 标准配置而不是寻找 SAP 专属隐藏按钮。7. 长期编码与 Agent 场景把配置和模型能力接起来如果你只是偶尔写几个 CDS上面第 4 节的配置就够了。但如果你在 ADT for VS Code 里长期做 RAP 开发CDS、Behavior Definition、Service Definition 一起上几十个 Package、几百个对象那隐藏.ddls.json带来的收益会越来越明显Explorer 更干净Search Noise 更少Coding Agent 获取 Workspace Context 时也更容易聚焦真正的 ABAP 和 CDS Source。这种长期编码和 Agent 工作流更适合用 Coding Plan入口在 https://taotoken.net/console/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。它和模型对话的区别在于前者适合一次性问答后者适合把模型接进日常编码链路里持续用。API Key 还是同一个控制台生成https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。接入细节对着文档看https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。如果你用的是 Claude Code 这类终端编码工具TaoToken 也提供了对应的接入入口https://taotoken.net/console/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite 。把 API 地址和 Key 配进去就能让终端里的编码助手直接读你的.acds源码。从 Eclipse ADT 迁移到 ADT for VS Code类似这种视觉上的不适应还会不断出现。很多地方并不是 SAP 把旧 IDE 原样搬到了新编辑器而是在重新思考 ABAP Repository Object 怎样进入一个 File Based、LSP Based、Agent Friendly 的开发环境。红框里的两个 JSON 文件看起来只是一个很小的 UI 细节背后其实正好体现了这次工具链迁移最核心的一处变化过去隐藏在 Eclipse View 里的对象信息如今越来越多地被显式映射成可以被 VS Code、Language Server、Search Engine 和 Coding Agent 消费的 File Part。我们的处理方式也不应该是把这些文件从系统里清除而是利用 VS Code 自身成熟的过滤机制把平时不需要关注的信息安静地收起来。
延伸阅读

更多相关文章

2026/9/26 16:25:15

AgentScope 2.0实战:多智能体框架与RAG服务化应用指南

如果你最近在关注AI应用开发,一定绕不开多智能体(Multi-Agent)这个词。AgentScope是我近期实测下来最顺手的开源多智能体框架之一:它把模型调用、多Agent协作、知识检索、服务化部署全部收进同一套体系里,尤其适合企业…

2026/9/26 16:20:14

PowerDNS架构解析与安装部署指南: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/9/26 16:20:14

基于YOLOv8和PyQt5的自行车违规停放检测告警系统设计

简介:这是一套基于YOLOv8与PyQt5的自行车违规停放检测告警项目源码,面向需要完成课设、毕设或算法竞赛的在校学生,以及希望快速搭建检测系统的开发者。包内共805个文件,压缩后约431.65MB,涵盖276张jpg图像、247个txt标…

2026/9/26 17:25:19

透明背景与系统图标:从RGBA原理到跨平台格式转换工作流

1. 透明背景与系统图标:设计师最常被"反杀"的一个环节先讲一个我自己的真实经历。有一回给一个桌面应用做整套图标,设计稿里清清楚楚是透明底,导出 PNG 的时候也反复确认过有 Alpha 通道。结果交付给开发同学,对方把图标…

2026/9/26 17:25:19

TensorFlow2.0中文手写汉字识别:从数据处理到模型部署全解析

简介:基于TensorFlow2.0的中文汉字手写体识别毕业设计项目,以完整源码和数据集打包,面向高校学生、毕业设计开发者以及OCR方向初学者。压缩包共包含94个文件,整体大小6.71MB,文件类型以PNG预测图像、Python程序、XML配…

2026/9/26 17:25:19

基于YOLOv5的智能生活垃圾分类系统从训练到部署全解析

简介:这套基于YOLOv5的智能生活垃圾分类系统源码,是面向毕业设计、期末大作业与课程设计的高分完整项目。项目由作者手动搭建并获导师认可,系统功能完善、界面美观、操作简单,代码采用YOLOv5目标检测框架,完整覆盖模型…

2026/9/26 17:25:19

cmd命令窗口在运行python时清屏

1.常用命令调用cmd窗口WinRcmd命令窗口清屏cls在cmd命令行窗口启动的过程中, 如果需要进行屏幕清空的操作。osios.(cls)当你在命令提示符窗口运行的过程中, 尝试去清除掉某一个变量, 这时候会发现它的赋值仍然存储在内存里面, 所以, 会存在一种内存管理机制, 用来定时地把这个赋…

2026/9/26 17:20:19

Julia复现电网经济调度与频率控制分层耦合模型全记录

电网调度和频率控制,在我刚入行那几年一直被当成两个“战壕”里的工作:做经济调度的人天天盯机组负荷率、煤耗曲线、启停顺序,追求的是每一度电发得够便宜;做频率控制的人则盯着AGC、一次调频死区、系统惯量,追求的是电…

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/26 0:04:28

画质修复APP怎么选?Wink影像修复能力与产品实力解析

现如今手机拍摄场景愈发丰富,演唱会直拍、漫展记录、老视频翻新、日常vlog录制,都会遇到画面模糊、噪点多、曝光失衡等问题,不少用户在挑选工具时比较在意一款画质修复APP能够兼顾修复效果与自然质感。Wink作为美图公司推出的全球化AI影像增强…

2026/9/26 0:04:28

超低能耗建筑K值要求能否满足?浙东铝业建筑型材解析

核心摘要浙东铝业的超低能耗系统门窗产品,资料显示保温性能可达 K≤1.4W/(㎡K),能够对应上海地区超低能耗住宅对门窗保温性能的应用需求。判断建筑是否满足超低能耗要求,不能只看铝型材本身,还需要结合玻璃、隔热条、密封系统、开…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑