@windypro-rourou/dsh-eda 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/README.md +1 -1
  2. package/lib/backend.js +49 -0
  3. package/lib/capabilities.js +6 -2
  4. package/lib/client.js +33 -0
  5. package/lib/index.js +197 -3
  6. package/package.json +10 -1
  7. package/skill/INDEX.md +10 -8
  8. package/skill/README.md +125 -0
  9. package/skill/README.zh-Hans.md +125 -0
  10. package/skill/SKILL.md +746 -746
  11. package/skill/format/index.md +152 -152
  12. package/skill/format/pcb/3d.md +166 -166
  13. package/skill/format/pcb/attr.md +63 -63
  14. package/skill/format/pcb/common.md +306 -306
  15. package/skill/format/pcb/component.md +132 -132
  16. package/skill/format/pcb/dimension.md +58 -58
  17. package/skill/format/pcb/index.md +17 -17
  18. package/skill/format/pcb/obj.md +43 -43
  19. package/skill/format/pcb/pad_via.md +151 -151
  20. package/skill/format/pcb/panel.md +64 -64
  21. package/skill/format/pcb/partition.md +43 -43
  22. package/skill/format/pcb/primitive.md +196 -196
  23. package/skill/format/pcb/rule.md +71 -71
  24. package/skill/format/pcb/shape.md +441 -441
  25. package/skill/format/pcb/text.md +62 -62
  26. package/skill/format/project/blob.md +30 -30
  27. package/skill/format/project/common.md +42 -42
  28. package/skill/format/project/group.md +62 -62
  29. package/skill/format/project/index.md +12 -12
  30. package/skill/format/project/instance.md +32 -32
  31. package/skill/format/project/meta.md +189 -189
  32. package/skill/format/project/variant.md +30 -30
  33. package/skill/format/schematic/attr.md +41 -41
  34. package/skill/format/schematic/common.md +47 -47
  35. package/skill/format/schematic/component.md +91 -91
  36. package/skill/format/schematic/index.md +14 -14
  37. package/skill/format/schematic/obj.md +41 -41
  38. package/skill/format/schematic/pin.md +59 -59
  39. package/skill/format/schematic/shape.md +231 -231
  40. package/skill/format/schematic/structure.md +53 -53
  41. package/skill/format/schematic/table.md +109 -109
  42. package/skill/format/schematic/text.md +47 -47
  43. package/skill/format/schematic/wire.md +132 -132
  44. package/skill/guide/ancillary-projects/easyeda-api-sdk.md +1 -0
  45. package/skill/guide/ancillary-projects/pro-api-types.md +5 -5
  46. package/skill/guide/ancillary-projects.md +10 -10
  47. package/skill/guide/cli.md +1510 -0
  48. package/skill/guide/error-handling.md +38 -38
  49. package/skill/guide/extension-json.md +135 -135
  50. package/skill/guide/extensions-marketplace.md +61 -61
  51. package/skill/guide/how-to-start.md +316 -301
  52. package/skill/guide/i18n.md +57 -57
  53. package/skill/guide/index.md +7 -7
  54. package/skill/guide/inline-frame.md +20 -20
  55. package/skill/guide/invoke-apis.md +81 -81
  56. package/skill/guide/stability.md +37 -37
  57. package/skill/references/_index.md +471 -398
  58. package/skill/references/_quick-reference.md +3103 -3028
  59. package/skill/references/classes/DMT_Board.md +537 -533
  60. package/skill/references/classes/DMT_EditorControl.md +1736 -1736
  61. package/skill/references/classes/DMT_Event.md +356 -356
  62. package/skill/references/classes/DMT_Folder.md +775 -775
  63. package/skill/references/classes/DMT_Panel.md +531 -531
  64. package/skill/references/classes/DMT_Pcb.md +579 -575
  65. package/skill/references/classes/DMT_Project.md +734 -573
  66. package/skill/references/classes/DMT_Schematic.md +1482 -1477
  67. package/skill/references/classes/DMT_SelectControl.md +96 -96
  68. package/skill/references/classes/DMT_Team.md +172 -172
  69. package/skill/references/classes/DMT_Workspace.md +198 -198
  70. package/skill/references/classes/EDA.md +1001 -961
  71. package/skill/references/classes/IPCB_ComplexPolygon.md +299 -299
  72. package/skill/references/classes/IPCB_Polygon.md +175 -175
  73. package/skill/references/classes/IPCB_PrimitiveArc.md +1901 -1901
  74. package/skill/references/classes/IPCB_PrimitiveAttribute.md +2993 -2993
  75. package/skill/references/classes/IPCB_PrimitiveComponent.md +2624 -2627
  76. package/skill/references/classes/IPCB_PrimitiveComponentPad.md +410 -410
  77. package/skill/references/classes/IPCB_PrimitiveDimension.md +1419 -1419
  78. package/skill/references/classes/IPCB_PrimitiveFill.md +1325 -1325
  79. package/skill/references/classes/IPCB_PrimitiveImage.md +1461 -1461
  80. package/skill/references/classes/IPCB_PrimitiveLine.md +1639 -1639
  81. package/skill/references/classes/IPCB_PrimitiveObject.md +1700 -1700
  82. package/skill/references/classes/IPCB_PrimitivePad.md +3155 -3155
  83. package/skill/references/classes/IPCB_PrimitivePolyline.md +1193 -1193
  84. package/skill/references/classes/IPCB_PrimitivePour.md +1858 -1858
  85. package/skill/references/classes/IPCB_PrimitivePoured.md +556 -556
  86. package/skill/references/classes/IPCB_PrimitiveRegion.md +1332 -1332
  87. package/skill/references/classes/IPCB_PrimitiveString.md +2315 -2315
  88. package/skill/references/classes/IPCB_PrimitiveVia.md +1588 -1588
  89. package/skill/references/classes/ISCH_PrimitiveArc.md +1676 -1676
  90. package/skill/references/classes/ISCH_PrimitiveAttribute.md +2541 -2541
  91. package/skill/references/classes/ISCH_PrimitiveBus.md +973 -973
  92. package/skill/references/classes/ISCH_PrimitiveCbbSymbolComponent.md +260 -260
  93. package/skill/references/classes/ISCH_PrimitiveCircle.md +1392 -1392
  94. package/skill/references/classes/ISCH_PrimitiveComponent.md +2910 -2913
  95. package/skill/references/classes/ISCH_PrimitiveComponentPin.md +155 -155
  96. package/skill/references/classes/ISCH_PrimitiveObject.md +960 -960
  97. package/skill/references/classes/ISCH_PrimitivePin.md +2402 -2402
  98. package/skill/references/classes/ISCH_PrimitivePolygon.md +1028 -1028
  99. package/skill/references/classes/ISCH_PrimitiveRectangle.md +1777 -1777
  100. package/skill/references/classes/ISCH_PrimitiveText.md +1771 -1771
  101. package/skill/references/classes/ISCH_PrimitiveWire.md +973 -973
  102. package/skill/references/classes/LIB_3DModel.md +782 -780
  103. package/skill/references/classes/LIB_Cbb.md +957 -957
  104. package/skill/references/classes/LIB_Classification.md +969 -965
  105. package/skill/references/classes/LIB_Device.md +1222 -1221
  106. package/skill/references/classes/LIB_Footprint.md +1298 -1153
  107. package/skill/references/classes/LIB_LibrariesList.md +361 -329
  108. package/skill/references/classes/LIB_PanelLibrary.md +855 -855
  109. package/skill/references/classes/LIB_SelectControl.md +89 -89
  110. package/skill/references/classes/LIB_SimulationModel.md +807 -821
  111. package/skill/references/classes/LIB_Symbol.md +1341 -1195
  112. package/skill/references/classes/PCB_Document.md +1770 -1754
  113. package/skill/references/classes/PCB_Drc.md +3379 -3375
  114. package/skill/references/classes/PCB_Event.md +1166 -1081
  115. package/skill/references/classes/PCB_ImageTool.md +363 -0
  116. package/skill/references/classes/PCB_Layer.md +1915 -1911
  117. package/skill/references/classes/PCB_ManufactureData.md +2968 -2968
  118. package/skill/references/classes/PCB_MathPolygon.md +916 -785
  119. package/skill/references/classes/PCB_Net.md +1128 -1128
  120. package/skill/references/classes/PCB_Primitive.md +217 -217
  121. package/skill/references/classes/PCB_PrimitiveArc.md +820 -894
  122. package/skill/references/classes/PCB_PrimitiveAttribute.md +635 -717
  123. package/skill/references/classes/PCB_PrimitiveComponent.md +1050 -1050
  124. package/skill/references/classes/PCB_PrimitiveDimension.md +789 -833
  125. package/skill/references/classes/PCB_PrimitiveFill.md +783 -861
  126. package/skill/references/classes/PCB_PrimitiveImage.md +803 -875
  127. package/skill/references/classes/PCB_PrimitiveLine.md +787 -858
  128. package/skill/references/classes/PCB_PrimitiveObject.md +796 -800
  129. package/skill/references/classes/PCB_PrimitivePad.md +947 -944
  130. package/skill/references/classes/PCB_PrimitivePolyline.md +744 -819
  131. package/skill/references/classes/PCB_PrimitivePour.md +808 -845
  132. package/skill/references/classes/PCB_PrimitivePoured.md +363 -363
  133. package/skill/references/classes/PCB_PrimitiveRegion.md +765 -799
  134. package/skill/references/classes/PCB_PrimitiveString.md +828 -910
  135. package/skill/references/classes/PCB_PrimitiveVia.md +761 -765
  136. package/skill/references/classes/PCB_RayTracerEngine.md +603 -263
  137. package/skill/references/classes/PCB_SelectControl.md +495 -495
  138. package/skill/references/classes/PCB_Tool.md +9 -0
  139. package/skill/references/classes/PNL_Document.md +83 -83
  140. package/skill/references/classes/SCH_Document.md +797 -809
  141. package/skill/references/classes/SCH_Drc.md +246 -242
  142. package/skill/references/classes/SCH_Event.md +583 -583
  143. package/skill/references/classes/SCH_ManufactureData.md +1209 -1205
  144. package/skill/references/classes/SCH_Net.md +200 -200
  145. package/skill/references/classes/SCH_Netlist.md +191 -191
  146. package/skill/references/classes/SCH_Primitive.md +337 -337
  147. package/skill/references/classes/SCH_PrimitiveArc.md +686 -692
  148. package/skill/references/classes/SCH_PrimitiveAttribute.md +579 -590
  149. package/skill/references/classes/SCH_PrimitiveBus.md +618 -624
  150. package/skill/references/classes/SCH_PrimitiveCircle.md +667 -683
  151. package/skill/references/classes/SCH_PrimitiveComponent.md +2256 -2240
  152. package/skill/references/classes/SCH_PrimitiveObject.md +666 -666
  153. package/skill/references/classes/SCH_PrimitivePin.md +737 -754
  154. package/skill/references/classes/SCH_PrimitivePolygon.md +621 -627
  155. package/skill/references/classes/SCH_PrimitiveRectangle.md +715 -731
  156. package/skill/references/classes/SCH_PrimitiveText.md +736 -746
  157. package/skill/references/classes/SCH_PrimitiveWire.md +701 -703
  158. package/skill/references/classes/SCH_SelectControl.md +520 -520
  159. package/skill/references/classes/SCH_SimulationEngine.md +133 -133
  160. package/skill/references/classes/SCH_Utils.md +121 -121
  161. package/skill/references/classes/SYS_ClientUrl.md +173 -173
  162. package/skill/references/classes/SYS_Dialog.md +825 -825
  163. package/skill/references/classes/SYS_Environment.md +640 -502
  164. package/skill/references/classes/SYS_ExternalApi.md +246 -0
  165. package/skill/references/classes/SYS_FileManager.md +1664 -1686
  166. package/skill/references/classes/SYS_FileSystem.md +1366 -1171
  167. package/skill/references/classes/SYS_FontManager.md +224 -224
  168. package/skill/references/classes/SYS_FormatConversion.md +349 -349
  169. package/skill/references/classes/SYS_HeaderMenu.md +480 -479
  170. package/skill/references/classes/SYS_Help.md +141 -0
  171. package/skill/references/classes/SYS_I18n.md +861 -861
  172. package/skill/references/classes/SYS_IFrame.md +541 -535
  173. package/skill/references/classes/SYS_LoadingAndProgressBar.md +246 -246
  174. package/skill/references/classes/SYS_Log.md +422 -424
  175. package/skill/references/classes/SYS_Math.md +1565 -1565
  176. package/skill/references/classes/SYS_Message.md +363 -363
  177. package/skill/references/classes/SYS_MessageBox.md +285 -285
  178. package/skill/references/classes/SYS_MessageBus.md +1618 -1618
  179. package/skill/references/classes/SYS_PanelControl.md +696 -696
  180. package/skill/references/classes/SYS_RightClickMenu.md +175 -175
  181. package/skill/references/classes/SYS_Setting.md +134 -85
  182. package/skill/references/classes/SYS_ShortcutKey.md +623 -623
  183. package/skill/references/classes/SYS_Storage.md +484 -484
  184. package/skill/references/classes/SYS_Timer.md +447 -447
  185. package/skill/references/classes/SYS_ToastMessage.md +194 -194
  186. package/skill/references/classes/SYS_Tool.md +317 -241
  187. package/skill/references/classes/SYS_Unit.md +594 -594
  188. package/skill/references/classes/SYS_WebSocket.md +401 -401
  189. package/skill/references/classes/SYS_Window.md +849 -850
  190. package/skill/references/enums/EDMT_EditorDocumentType.md +324 -278
  191. package/skill/references/enums/EDMT_EditorSplitScreenDirection.md +51 -47
  192. package/skill/references/enums/EDMT_EditorTabEventType.md +68 -62
  193. package/skill/references/enums/EDMT_IndicatorMarkerType.md +90 -80
  194. package/skill/references/enums/EDMT_ItemType.md +181 -157
  195. package/skill/references/enums/EDMT_ProjectCollaborationMode.md +51 -47
  196. package/skill/references/enums/EDMT_ProjectFileFormat.md +60 -0
  197. package/skill/references/enums/EDMT_ProjectReadyState.md +82 -0
  198. package/skill/references/enums/ELIB_DeviceJlcLibraryCategory.md +51 -47
  199. package/skill/references/enums/ELIB_LibraryType.md +129 -113
  200. package/skill/references/enums/ELIB_PreviewType.md +77 -69
  201. package/skill/references/enums/ELIB_SimulationModelType.md +51 -47
  202. package/skill/references/enums/ELIB_SymbolType.md +142 -124
  203. package/skill/references/enums/EPCB_AutoRoutingCornerStyle.md +51 -47
  204. package/skill/references/enums/EPCB_AutoRoutingExistingPrimitiveMode.md +51 -47
  205. package/skill/references/enums/EPCB_AutoRoutingOptimization.md +51 -47
  206. package/skill/references/enums/EPCB_DocumentCanvasUpdateCalculationActiveStatus.md +51 -47
  207. package/skill/references/enums/EPCB_DocumentRatlineCalculatingActiveStatus.md +55 -51
  208. package/skill/references/enums/EPCB_InactiveLayerDisplayMode.md +64 -58
  209. package/skill/references/enums/EPCB_LayerColorConfiguration.md +90 -80
  210. package/skill/references/enums/EPCB_LayerId.md +1169 -881
  211. package/skill/references/enums/EPCB_LayerStatus.md +64 -58
  212. package/skill/references/enums/EPCB_LayerType.md +129 -113
  213. package/skill/references/enums/EPCB_MouseEventType.md +64 -58
  214. package/skill/references/enums/EPCB_NetEventType.md +64 -58
  215. package/skill/references/enums/EPCB_PcbPlateType.md +51 -47
  216. package/skill/references/enums/EPCB_PdfOutputMethod.md +64 -58
  217. package/skill/references/enums/EPCB_PrimitiveArcInteractiveMode.md +51 -47
  218. package/skill/references/enums/EPCB_PrimitiveDimensionType.md +64 -58
  219. package/skill/references/enums/EPCB_PrimitiveEventType.md +64 -58
  220. package/skill/references/enums/EPCB_PrimitiveFillMode.md +68 -62
  221. package/skill/references/enums/EPCB_PrimitivePadHeatWeldingConnectionMethod.md +64 -58
  222. package/skill/references/enums/EPCB_PrimitivePadHoleType.md +64 -58
  223. package/skill/references/enums/EPCB_PrimitivePadShapeType.md +90 -80
  224. package/skill/references/enums/EPCB_PrimitivePadType.md +64 -58
  225. package/skill/references/enums/EPCB_PrimitivePourFillMethod.md +64 -58
  226. package/skill/references/enums/EPCB_PrimitiveRegionRuleType.md +107 -95
  227. package/skill/references/enums/EPCB_PrimitiveStringAlignMode.md +142 -124
  228. package/skill/references/enums/EPCB_PrimitiveType.md +233 -201
  229. package/skill/references/enums/EPCB_PrimitiveViaType.md +64 -58
  230. package/skill/references/enums/ESCH_DynamicSimulationEnginePullEventType.md +116 -102
  231. package/skill/references/enums/ESCH_DynamicSimulationEnginePushEventType.md +90 -80
  232. package/skill/references/enums/ESCH_ExportDocumentFileType.md +64 -58
  233. package/skill/references/enums/ESCH_MouseEventType.md +51 -47
  234. package/skill/references/enums/ESCH_PrimitiveComponentType.md +142 -124
  235. package/skill/references/enums/ESCH_PrimitiveEventType.md +77 -69
  236. package/skill/references/enums/ESCH_PrimitiveFillStyle.md +129 -113
  237. package/skill/references/enums/ESCH_PrimitiveLineType.md +77 -69
  238. package/skill/references/enums/ESCH_PrimitivePinShape.md +77 -69
  239. package/skill/references/enums/ESCH_PrimitivePinType.md +168 -146
  240. package/skill/references/enums/ESCH_PrimitiveTextAlignMode.md +142 -124
  241. package/skill/references/enums/ESCH_PrimitiveType.md +207 -179
  242. package/skill/references/enums/ESCH_SimulationNetlistType.md +38 -36
  243. package/skill/references/enums/ESCH_SpiceSimulationEnginePullEventType.md +51 -47
  244. package/skill/references/enums/ESCH_SpiceSimulationEnginePushEventType.md +77 -69
  245. package/skill/references/enums/ESYS_BottomPanelTab.md +94 -80
  246. package/skill/references/enums/ESYS_HeaderMenuEnvironment.md +181 -157
  247. package/skill/references/enums/ESYS_ImportProjectBoardOutlineSource.md +55 -51
  248. package/skill/references/enums/ESYS_ImportProjectImportOption.md +64 -58
  249. package/skill/references/enums/ESYS_ImportProjectSchematicObjectStyle.md +51 -47
  250. package/skill/references/enums/ESYS_ImportProjectViaSolderMaskExpansion.md +55 -51
  251. package/skill/references/enums/ESYS_JobState.md +95 -0
  252. package/skill/references/enums/ESYS_LeftPanelTab.md +94 -80
  253. package/skill/references/enums/ESYS_LogType.md +77 -102
  254. package/skill/references/enums/ESYS_NetlistType.md +129 -113
  255. package/skill/references/enums/ESYS_PanelPosition.md +69 -0
  256. package/skill/references/enums/ESYS_PanelTab.md +368 -0
  257. package/skill/references/enums/ESYS_RightPanelTab.md +237 -201
  258. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorRange.md +220 -190
  259. package/skill/references/enums/ESYS_ShortcutKeyEffectiveEditorScene.md +103 -91
  260. package/skill/references/enums/ESYS_StartPageQuickStartItem.md +237 -205
  261. package/skill/references/enums/ESYS_Theme.md +51 -47
  262. package/skill/references/enums/ESYS_ToastMessageType.md +90 -80
  263. package/skill/references/enums/ESYS_Unit.md +116 -102
  264. package/skill/references/enums/ESYS_WindowEventType.md +64 -47
  265. package/skill/references/enums/ESYS_WindowOpenTarget.md +51 -47
  266. package/skill/references/enums/NetportDeviceName.md +146 -146
  267. package/skill/references/enums/SchToolBarDeviceName.md +278 -278
  268. package/skill/references/interfaces/BoardProps.md +169 -169
  269. package/skill/references/interfaces/BorderConfig.md +109 -0
  270. package/skill/references/interfaces/ButtonProps.md +196 -169
  271. package/skill/references/interfaces/CellClickInfo.md +142 -0
  272. package/skill/references/interfaces/CellCoord.md +88 -0
  273. package/skill/references/interfaces/CheckBoxProps.md +223 -196
  274. package/skill/references/interfaces/CheckChangeDetail.md +88 -0
  275. package/skill/references/interfaces/CheckboxEditConfig.md +159 -0
  276. package/skill/references/interfaces/ClipboardCellData.md +142 -0
  277. package/skill/references/interfaces/ClipboardConfig.md +115 -0
  278. package/skill/references/interfaces/ColorPickerProps.md +169 -0
  279. package/skill/references/interfaces/ColumnDef.md +605 -0
  280. package/skill/references/interfaces/ColumnEditTrigger.md +57 -0
  281. package/skill/references/interfaces/ColumnGroupDef.md +192 -0
  282. package/skill/references/interfaces/ColumnResizeConfig.md +142 -0
  283. package/skill/references/interfaces/ComponentPropsMap.md +517 -448
  284. package/skill/references/interfaces/CustomHeaderConfig.md +169 -0
  285. package/skill/references/interfaces/DialogProps.md +385 -385
  286. package/skill/references/interfaces/DragSortConfig.md +115 -0
  287. package/skill/references/interfaces/EditingConfig.md +196 -0
  288. package/skill/references/interfaces/FilteringConfig.md +250 -0
  289. package/skill/references/interfaces/FixedColumnConfig.md +88 -0
  290. package/skill/references/interfaces/FlexItemProps.md +116 -116
  291. package/skill/references/interfaces/FlexProps.md +224 -224
  292. package/skill/references/interfaces/GridItemProps.md +143 -143
  293. package/skill/references/interfaces/GridProps.md +143 -143
  294. package/skill/references/interfaces/IDMT_BoardItem.md +171 -171
  295. package/skill/references/interfaces/IDMT_BriefProjectItem.md +171 -171
  296. package/skill/references/interfaces/IDMT_EditorDocumentItem.md +169 -169
  297. package/skill/references/interfaces/IDMT_EditorSplitScreenItem.md +173 -173
  298. package/skill/references/interfaces/IDMT_EditorTabItem.md +169 -169
  299. package/skill/references/interfaces/IDMT_FolderItem.md +225 -225
  300. package/skill/references/interfaces/IDMT_IndicatorMarkerShape.md +393 -393
  301. package/skill/references/interfaces/IDMT_PanelItem.md +144 -144
  302. package/skill/references/interfaces/IDMT_PcbItem.md +171 -171
  303. package/skill/references/interfaces/IDMT_ProjectItem.md +143 -143
  304. package/skill/references/interfaces/IDMT_SchematicItem.md +225 -225
  305. package/skill/references/interfaces/IDMT_SchematicPageItem.md +198 -198
  306. package/skill/references/interfaces/IDMT_TeamItem.md +144 -144
  307. package/skill/references/interfaces/IDMT_WorkspaceItem.md +117 -117
  308. package/skill/references/interfaces/IDesignPortal.md +103 -103
  309. package/skill/references/interfaces/ILIB_3DModelItem.md +198 -198
  310. package/skill/references/interfaces/ILIB_3DModelSearchItem.md +277 -277
  311. package/skill/references/interfaces/ILIB_CbbItem.md +225 -225
  312. package/skill/references/interfaces/ILIB_CbbSearchItem.md +277 -277
  313. package/skill/references/interfaces/ILIB_ClassificationIndex.md +150 -150
  314. package/skill/references/interfaces/ILIB_ClassificationNode.md +98 -0
  315. package/skill/references/interfaces/ILIB_DeviceAssociationItem.md +210 -210
  316. package/skill/references/interfaces/ILIB_DeviceExtendPropertyItem.md +304 -304
  317. package/skill/references/interfaces/ILIB_DeviceItem.md +279 -279
  318. package/skill/references/interfaces/ILIB_DevicePropertiesForSearch.md +250 -250
  319. package/skill/references/interfaces/ILIB_DeviceSearchItem.md +521 -521
  320. package/skill/references/interfaces/ILIB_ExtendLibrary3DModelFunctions.md +64 -64
  321. package/skill/references/interfaces/ILIB_ExtendLibraryCbbFunctions.md +93 -99
  322. package/skill/references/interfaces/ILIB_ExtendLibraryClassificationIndex.md +150 -150
  323. package/skill/references/interfaces/ILIB_ExtendLibraryDeviceFunctions.md +143 -157
  324. package/skill/references/interfaces/ILIB_ExtendLibraryFootprintFunctions.md +63 -63
  325. package/skill/references/interfaces/ILIB_ExtendLibraryFunctions.md +123 -123
  326. package/skill/references/interfaces/ILIB_ExtendLibraryItem.md +97 -97
  327. package/skill/references/interfaces/ILIB_ExtendLibraryItemIndex.md +98 -98
  328. package/skill/references/interfaces/ILIB_ExtendLibrarySearchProperty.md +115 -115
  329. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResult.md +169 -169
  330. package/skill/references/interfaces/ILIB_ExtendLibrarySearchResultDataLine.md +234 -234
  331. package/skill/references/interfaces/ILIB_ExtendLibrarySymbolFunctions.md +91 -105
  332. package/skill/references/interfaces/ILIB_ExtendLibraryUserIndex.md +96 -96
  333. package/skill/references/interfaces/ILIB_FootprintItem.md +256 -198
  334. package/skill/references/interfaces/ILIB_FootprintPropertiesForSearch.md +61 -61
  335. package/skill/references/interfaces/ILIB_FootprintSearchItem.md +277 -277
  336. package/skill/references/interfaces/ILIB_LibraryInfo.md +92 -92
  337. package/skill/references/interfaces/ILIB_LibraryItem.md +115 -115
  338. package/skill/references/interfaces/ILIB_PanelLibraryItem.md +198 -198
  339. package/skill/references/interfaces/ILIB_PanelLibrarySearchItem.md +277 -277
  340. package/skill/references/interfaces/ILIB_RegisterExtendLibraryProps.md +71 -0
  341. package/skill/references/interfaces/ILIB_SimulationModelItem.md +306 -306
  342. package/skill/references/interfaces/ILIB_SimulationModelSearchItem.md +304 -304
  343. package/skill/references/interfaces/ILIB_SymbolItem.md +306 -279
  344. package/skill/references/interfaces/ILIB_SymbolPropertiesForSearch.md +61 -61
  345. package/skill/references/interfaces/ILIB_SymbolSearchItem.md +304 -304
  346. package/skill/references/interfaces/IPCB_AutoLayoutResult.md +169 -169
  347. package/skill/references/interfaces/IPCB_AutoRoutingProps.md +220 -220
  348. package/skill/references/interfaces/IPCB_AutoRoutingResult.md +169 -169
  349. package/skill/references/interfaces/IPCB_BomPropertiesTableColumns.md +169 -169
  350. package/skill/references/interfaces/IPCB_DifferentialPairItem.md +115 -115
  351. package/skill/references/interfaces/IPCB_DiscretizeOptions.md +65 -65
  352. package/skill/references/interfaces/IPCB_DiscretizedPoint.md +88 -88
  353. package/skill/references/interfaces/IPCB_EqualLengthNetGroupItem.md +115 -115
  354. package/skill/references/interfaces/IPCB_LayerItem.md +277 -277
  355. package/skill/references/interfaces/IPCB_NetClassItem.md +115 -115
  356. package/skill/references/interfaces/IPCB_NetInfo.md +115 -115
  357. package/skill/references/interfaces/IPCB_PadPairGroupItem.md +88 -88
  358. package/skill/references/interfaces/IPCB_PadPairMinWireLengthItem.md +88 -88
  359. package/skill/references/interfaces/IPCB_PhysicalStackingConfiguration.md +115 -115
  360. package/skill/references/interfaces/IPCB_Primitive.md +218 -218
  361. package/skill/references/interfaces/IPCB_PrimitiveAPI.md +174 -175
  362. package/skill/references/interfaces/IPCB_PrimitivePadHeatWelding.md +151 -151
  363. package/skill/references/interfaces/IPCB_PrimitivePouredPourFill.md +142 -142
  364. package/skill/references/interfaces/IPCB_PrimitiveSolderMaskAndPasteMaskExpansion.md +154 -154
  365. package/skill/references/interfaces/IPCB_RayTracerBackgroundConfig.md +223 -0
  366. package/skill/references/interfaces/IPCB_RayTracerLightConfig.md +412 -0
  367. package/skill/references/interfaces/IPCB_RayTracerMaterialConfig.md +547 -0
  368. package/skill/references/interfaces/IPCB_RayTracerPcbMaterialConfig.md +196 -0
  369. package/skill/references/interfaces/IPCB_RayTracerRenderConfigurations.md +200 -0
  370. package/skill/references/interfaces/IPCB_RayTracerRendererConfig.md +196 -0
  371. package/skill/references/interfaces/IPCB_RayTracerSceneElement.md +115 -0
  372. package/skill/references/interfaces/IPCB_RayTracerSceneElementTransform.md +123 -0
  373. package/skill/references/interfaces/IPCB_RayTracerTexture.md +88 -0
  374. package/skill/references/interfaces/IPCB_SubstratePhysicalProperties.md +88 -88
  375. package/skill/references/interfaces/IRawNet.md +103 -103
  376. package/skill/references/interfaces/IRawPureSchematic.md +80 -80
  377. package/skill/references/interfaces/IRawSchematic.md +103 -103
  378. package/skill/references/interfaces/IRawWire.md +149 -149
  379. package/skill/references/interfaces/ISCH_DrcError.md +142 -142
  380. package/skill/references/interfaces/ISCH_DrcErrorPrimitive.md +142 -142
  381. package/skill/references/interfaces/ISCH_ExportPngResolution.md +94 -94
  382. package/skill/references/interfaces/ISCH_NetInfo.md +88 -88
  383. package/skill/references/interfaces/ISCH_Primitive.md +218 -219
  384. package/skill/references/interfaces/ISCH_PrimitiveAPI.md +174 -175
  385. package/skill/references/interfaces/ISCH_ProjectNetInfo.md +142 -142
  386. package/skill/references/interfaces/ISCH_WireInfo.md +169 -169
  387. package/skill/references/interfaces/ISYS_ComparisonResponse.md +115 -0
  388. package/skill/references/interfaces/ISYS_ExtensionExternalApiIndex.md +13 -0
  389. package/skill/references/interfaces/ISYS_ExtensionRegisteredExternalApis.md +13 -0
  390. package/skill/references/interfaces/ISYS_ExternalApiHelp.md +173 -0
  391. package/skill/references/interfaces/ISYS_ExternalApiRegistration.md +146 -0
  392. package/skill/references/interfaces/ISYS_FileSystemFileList.md +169 -169
  393. package/skill/references/interfaces/ISYS_HeaderMenuSub1MenuItem.md +205 -174
  394. package/skill/references/interfaces/ISYS_HeaderMenuSub2MenuItem.md +178 -147
  395. package/skill/references/interfaces/ISYS_HeaderMenuTopMenuItem.md +115 -115
  396. package/skill/references/interfaces/ISYS_HeaderMenus.md +408 -408
  397. package/skill/references/interfaces/ISYS_HelpAudienceEntry.md +92 -0
  398. package/skill/references/interfaces/ISYS_HelpClassSummary.md +205 -0
  399. package/skill/references/interfaces/ISYS_HelpData.md +92 -0
  400. package/skill/references/interfaces/ISYS_HelpMethodDetail.md +310 -0
  401. package/skill/references/interfaces/ISYS_JobHandle.md +65 -0
  402. package/skill/references/interfaces/ISYS_JobLogEntry.md +142 -0
  403. package/skill/references/interfaces/ISYS_JobStatus.md +176 -0
  404. package/skill/references/interfaces/ISYS_LogLine.md +115 -115
  405. package/skill/references/interfaces/ISYS_MathBBox.md +142 -142
  406. package/skill/references/interfaces/ISYS_MathPoint.md +88 -88
  407. package/skill/references/interfaces/ISYS_MathPolygonWithHoles.md +92 -92
  408. package/skill/references/interfaces/ISYS_MessageBusTask.md +115 -115
  409. package/skill/references/interfaces/ISYS_MultilingualLanguagesData.md +12 -12
  410. package/skill/references/interfaces/ISYS_RightClickMenuItem.md +174 -174
  411. package/skill/references/interfaces/ISYS_ShortcutKeyData.md +169 -169
  412. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithCallFn.md +62 -62
  413. package/skill/references/interfaces/ISYS_ShortcutKeyDataWithUserDefinedShortcutKey.md +62 -62
  414. package/skill/references/interfaces/ISYS_WindowEventListenerRemovableObject.md +109 -109
  415. package/skill/references/interfaces/IconProps.md +88 -88
  416. package/skill/references/interfaces/ImageProps.md +115 -115
  417. package/skill/references/interfaces/InputEditConfig.md +182 -0
  418. package/skill/references/interfaces/InputProps.md +547 -520
  419. package/skill/references/interfaces/KeyboardConfig.md +61 -0
  420. package/skill/references/interfaces/ListChildren.md +223 -223
  421. package/skill/references/interfaces/ListProps.md +250 -223
  422. package/skill/references/interfaces/ModalProps.md +358 -358
  423. package/skill/references/interfaces/NumberEditConfig.md +234 -0
  424. package/skill/references/interfaces/RadioGroupProps.md +196 -196
  425. package/skill/references/interfaces/RadioItem.md +115 -115
  426. package/skill/references/interfaces/RichTableProps.md +1357 -0
  427. package/skill/references/interfaces/RowMetaConfig.md +142 -0
  428. package/skill/references/interfaces/ScrollerProps.md +169 -169
  429. package/skill/references/interfaces/SelectEditConfig.md +211 -0
  430. package/skill/references/interfaces/SelectListItem.md +142 -142
  431. package/skill/references/interfaces/SelectOption.md +142 -0
  432. package/skill/references/interfaces/SelectProps.md +169 -169
  433. package/skill/references/interfaces/SelectionConfig.md +358 -0
  434. package/skill/references/interfaces/SliderProps.md +142 -0
  435. package/skill/references/interfaces/SlotProps.md +88 -88
  436. package/skill/references/interfaces/SortState.md +88 -0
  437. package/skill/references/interfaces/SortingConfig.md +169 -0
  438. package/skill/references/interfaces/StyleProps.md +439 -385
  439. package/skill/references/interfaces/TextAreaProps.md +196 -196
  440. package/skill/references/interfaces/TextProps.md +169 -169
  441. package/skill/references/interfaces/TextareaEditConfig.md +182 -0
  442. package/skill/references/interfaces/ValidationRule.md +223 -0
  443. package/skill/references/interfaces/VirtualScrollConfig.md +115 -0
  444. package/skill/references/types/Align.md +9 -0
  445. package/skill/references/types/CellContentType.md +9 -0
  446. package/skill/references/types/ColumnDefOrGroup.md +12 -0
  447. package/skill/references/types/ColumnEditConfig.md +13 -0
  448. package/skill/references/types/ColumnType.md +9 -0
  449. package/skill/references/types/DataChangeType.md +9 -0
  450. package/skill/references/types/FilterMatchMode.md +9 -0
  451. package/skill/references/types/RichTableRow.md +12 -0
  452. package/skill/references/types/Serializable.md +10 -0
  453. package/skill/references/types/SerializablePrimitive.md +9 -0
  454. package/skill/references/types/SortOrder.md +9 -0
  455. package/skill/references/types/TPCB_LayerTypesOfInnerLayer.md +11 -11
  456. package/skill/references/types/TPCB_LayersInTheSelectable.md +42 -42
  457. package/skill/references/types/TPCB_LayersOfComponent.md +11 -11
  458. package/skill/references/types/TPCB_LayersOfCopper.md +15 -15
  459. package/skill/references/types/TPCB_LayersOfCustom.md +41 -41
  460. package/skill/references/types/TPCB_LayersOfDimension.md +16 -16
  461. package/skill/references/types/TPCB_LayersOfFill.md +28 -28
  462. package/skill/references/types/TPCB_LayersOfImage.md +22 -22
  463. package/skill/references/types/TPCB_LayersOfInner.md +41 -41
  464. package/skill/references/types/TPCB_LayersOfLine.md +25 -25
  465. package/skill/references/types/TPCB_LayersOfObject.md +12 -12
  466. package/skill/references/types/TPCB_LayersOfPad.md +11 -11
  467. package/skill/references/types/TPCB_LayersOfRegion.md +11 -11
  468. package/skill/references/types/TPCB_NumberOfCopperLayers.md +9 -9
  469. package/skill/references/types/TPCB_PolygonSourceArray.md +85 -83
  470. package/skill/references/types/TPCB_PrimitiveDimensionCoordinateSet.md +66 -66
  471. package/skill/references/types/TPCB_PrimitivePadHole.md +30 -30
  472. package/skill/references/types/TPCB_PrimitivePadShape.md +61 -61
  473. package/skill/references/types/TPCB_PrimitiveSpecialPadShape.md +19 -19
  474. package/skill/references/types/TSYS_ComparisonErrorCode.md +15 -0
  475. package/skill/references/types/TSYS_LanguageKeyValuePairs.md +13 -0
  476. package/skill/references/types/TSYS_MathPolygonGroup.md +15 -15
  477. package/skill/references/types/TSYS_MathPolygonInput.md +20 -20
  478. package/skill/references/types/TSYS_ShortcutKeys.md +96 -96
  479. package/skill/user-guide/using-extension.md +47 -47
  480. package/src/json-gen.test.js +430 -0
  481. package/skill/guide/ancillary-projects/pro-api-sdk.md +0 -1
  482. package/skill/references/interfaces/ISYS_PcbComparisonResponse.md +0 -115
  483. package/skill/references/types/ISYS_LanguageKeyValuePairs.md +0 -13
  484. package/skill/references/types/TSYS_PcbComparisonErrorCode.md +0 -10
@@ -1,1171 +1,1366 @@
1
- # SYS\_FileSystem class
2
-
3
- System / file system interaction class
4
-
5
- ## Signature
6
-
7
- ```typescript
8
- class SYS_FileSystem
9
- ```
10
-
11
- ## Remarks
12
-
13
- ## Methods
14
-
15
- <table><thead><tr><th>
16
-
17
- Method
18
-
19
- </th><th>
20
-
21
- Modifiers
22
-
23
- </th><th>
24
-
25
- Description
26
-
27
- </th></tr></thead>
28
- <tbody><tr><td>
29
-
30
- [createDirectoryInFileSystem(folderPath)](./SYS_FileSystem.md)
31
-
32
- </td><td>
33
-
34
- </td><td>
35
-
36
- **_(BETA)_** In file system in create folder
37
-
38
- </td></tr>
39
- <tr><td>
40
-
41
- [createObjectURL(blob)](./SYS_FileSystem.md)
42
-
43
- </td><td>
44
-
45
- </td><td>
46
-
47
- Create ObjectURL
48
-
49
- </td></tr>
50
- <tr><td>
51
-
52
- [deleteFileInFileSystem(uri, force)](./SYS_FileSystem.md)
53
-
54
- </td><td>
55
-
56
- </td><td>
57
-
58
- **_(BETA)_** Delete a file in the file system
59
-
60
- </td></tr>
61
- <tr><td>
62
-
63
- [existsPathInFileSystem(uri)](./SYS_FileSystem.md)
64
-
65
- </td><td>
66
-
67
- </td><td>
68
-
69
- **_(BETA)_** Check whether a file or directory exists in the file system
70
-
71
- </td></tr>
72
- <tr><td>
73
-
74
- [getDocumentsPath()](./SYS_FileSystem.md)
75
-
76
- </td><td>
77
-
78
- </td><td>
79
-
80
- **_(BETA)_** Get the document directory path
81
-
82
- </td></tr>
83
- <tr><td>
84
-
85
- [getEdaPath()](./SYS_FileSystem.md)
86
-
87
- </td><td>
88
-
89
- </td><td>
90
-
91
- **_(BETA)_** Get the EDA document directory path
92
-
93
- </td></tr>
94
- <tr><td>
95
-
96
- [getExtensionFile(uri)](./SYS_FileSystem.md)
97
-
98
- </td><td>
99
-
100
- </td><td>
101
-
102
- Get a file from the extension
103
-
104
- </td></tr>
105
- <tr><td>
106
-
107
- [getLibrariesPaths()](./SYS_FileSystem.md)
108
-
109
- </td><td>
110
-
111
- </td><td>
112
-
113
- **_(BETA)_** Get the library directory paths
114
-
115
- </td></tr>
116
- <tr><td>
117
-
118
- [getProjectsPaths()](./SYS_FileSystem.md)
119
-
120
- </td><td>
121
-
122
- </td><td>
123
-
124
- **_(BETA)_** Get the project directory paths
125
-
126
- </td></tr>
127
- <tr><td>
128
-
129
- [listFilesOfFileSystem(folderPath, recursive)](./SYS_FileSystem.md)
130
-
131
- </td><td>
132
-
133
- </td><td>
134
-
135
- **_(BETA)_** View the file list under a file system path
136
-
137
- </td></tr>
138
- <tr><td>
139
-
140
- [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
141
-
142
- </td><td>
143
-
144
- </td><td>
145
-
146
- **_(BETA)_** Open the read-file dialog
147
-
148
- </td></tr>
149
- <tr><td>
150
-
151
- [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
152
-
153
- </td><td>
154
-
155
- </td><td>
156
-
157
- **_(BETA)_** Open the read-file dialog
158
-
159
- </td></tr>
160
- <tr><td>
161
-
162
- [openReadFolderDialog()](./SYS_FileSystem.md)
163
-
164
- </td><td>
165
-
166
- </td><td>
167
-
168
- **_(BETA)_** Open the read-folder dialog
169
-
170
- </td></tr>
171
- <tr><td>
172
-
173
- [readFileFromFileSystem(uri)](./SYS_FileSystem.md)
174
-
175
- </td><td>
176
-
177
- </td><td>
178
-
179
- **_(BETA)_** Read a file from the file system
180
-
181
- </td></tr>
182
- <tr><td>
183
-
184
- [revokeObjectURL(url)](./SYS_FileSystem.md)
185
-
186
- </td><td>
187
-
188
- </td><td>
189
-
190
- Revoke the ObjectURL
191
-
192
- </td></tr>
193
- <tr><td>
194
-
195
- [saveFile(fileData, fileName)](./SYS_FileSystem.md)
196
-
197
- </td><td>
198
-
199
- </td><td>
200
-
201
- Save File
202
-
203
- </td></tr>
204
- <tr><td>
205
-
206
- [saveFileToFileSystem(uri, fileData, fileName, force)](./SYS_FileSystem.md)
207
-
208
- </td><td>
209
-
210
- </td><td>
211
-
212
- **_(BETA)_** Write a file to the file system
213
-
214
- </td></tr>
215
- </tbody></table>
216
-
217
- ---
218
-
219
- ## 方法详情
220
-
221
- ### createdirectoryinfilesystem
222
-
223
- # SYS\_FileSystem.createDirectoryInFileSystem() method
224
-
225
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
226
-
227
- In file system in create folder
228
-
229
- ## Signature
230
-
231
- ```typescript
232
- function createDirectoryInFileSystem(folderPath: string): Promise<boolean>;
233
- ```
234
-
235
- ## Parameters
236
-
237
- <table><thead><tr><th>
238
-
239
- Parameter
240
-
241
- </th><th>
242
-
243
- Type
244
-
245
- </th><th>
246
-
247
- Description
248
-
249
- </th></tr></thead>
250
- <tbody><tr><td>
251
-
252
- folderPath
253
-
254
- </td><td>
255
-
256
- string
257
-
258
- </td><td>
259
-
260
- Folder path
261
-
262
- </td></tr>
263
- </tbody></table>
264
-
265
- ## Returns
266
-
267
- Promise&lt;boolean&gt;
268
-
269
- Create Whether the operation is successful
270
-
271
- ## Remarks
272
-
273
- Supports recursively creating multi-level directories
274
-
275
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
276
-
277
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.166
278
-
279
- ### createobjecturl
280
-
281
- # SYS\_FileSystem.createObjectURL() method
282
-
283
- Create ObjectURL
284
-
285
- ## Signature
286
-
287
- ```typescript
288
- function createObjectURL(blob: Blob | File): string;
289
- ```
290
-
291
- ## Parameters
292
-
293
- <table><thead><tr><th>
294
-
295
- Parameter
296
-
297
- </th><th>
298
-
299
- Type
300
-
301
- </th><th>
302
-
303
- Description
304
-
305
- </th></tr></thead>
306
- <tbody><tr><td>
307
-
308
- blob
309
-
310
- </td><td>
311
-
312
- Blob \| File
313
-
314
- </td><td>
315
-
316
- Blob or File object
317
-
318
- </td></tr>
319
- </tbody></table>
320
-
321
- ## Returns
322
-
323
- string
324
-
325
- ObjectURL string
326
-
327
- ## Remarks
328
-
329
- Create an ObjectURL pointing to the passed-in Blob / File object ADD since EDA v3.2.162
330
-
331
- ## Example
332
-
333
- ```javascript
334
- // 1. 构造一段文本数据
335
- const blob = new Blob(['嘉立创示例数据'], { type: 'text/plain' });
336
-
337
- // 2. 创建 ObjectURL(同步方法,直接返回字符串)
338
- const url = eda.sys_FileSystem.createObjectURL(blob);
339
-
340
- console.log('ObjectURL:', url);
341
- ```
342
-
343
- ### deletefileinfilesystem
344
-
345
- # SYS\_FileSystem.deleteFileInFileSystem() method
346
-
347
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
348
-
349
- Delete a file in the file system
350
-
351
- ## Signature
352
-
353
- ```typescript
354
- function deleteFileInFileSystem(uri: string, force?: boolean): Promise<boolean>;
355
- ```
356
-
357
- ## Parameters
358
-
359
- <table><thead><tr><th>
360
-
361
- Parameter
362
-
363
- </th><th>
364
-
365
- Type
366
-
367
- </th><th>
368
-
369
- Description
370
-
371
- </th></tr></thead>
372
- <tbody><tr><td>
373
-
374
- uri
375
-
376
- </td><td>
377
-
378
- string
379
-
380
- </td><td>
381
-
382
- File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
383
-
384
- </td></tr>
385
- <tr><td>
386
-
387
- force
388
-
389
- </td><td>
390
-
391
- boolean
392
-
393
- </td><td>
394
-
395
- _(Optional)_ Force delete the folder (whether to force delete the folder when the target is a folder containing files)
396
-
397
- </td></tr>
398
- </tbody></table>
399
-
400
- ## Returns
401
-
402
- Promise&lt;boolean&gt;
403
-
404
- Delete Whether the operation is successful
405
-
406
- ## Remarks
407
-
408
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
409
-
410
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
411
-
412
- ### existspathinfilesystem
413
-
414
- # SYS\_FileSystem.existsPathInFileSystem() method
415
-
416
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
417
-
418
- Check whether a file or directory exists in the file system
419
-
420
- ## Signature
421
-
422
- ```typescript
423
- function existsPathInFileSystem(uri: string): Promise<boolean>;
424
- ```
425
-
426
- ## Parameters
427
-
428
- <table><thead><tr><th>
429
-
430
- Parameter
431
-
432
- </th><th>
433
-
434
- Type
435
-
436
- </th><th>
437
-
438
- Description
439
-
440
- </th></tr></thead>
441
- <tbody><tr><td>
442
-
443
- uri
444
-
445
- </td><td>
446
-
447
- string
448
-
449
- </td><td>
450
-
451
- File resource locator. An absolute path containing the complete file name is required
452
-
453
- </td></tr>
454
- </tbody></table>
455
-
456
- ## Returns
457
-
458
- Promise&lt;boolean&gt;
459
-
460
- Whether the file or directory exists
461
-
462
- ## Remarks
463
-
464
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
465
-
466
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.167
467
-
468
- ### getdocumentspath
469
-
470
- # SYS\_FileSystem.getDocumentsPath() method
471
-
472
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
473
-
474
- Get the document directory path
475
-
476
- ## Signature
477
-
478
- ```typescript
479
- function getDocumentsPath(): Promise<string>;
480
- ```
481
-
482
- ## Returns
483
-
484
- Promise&lt;string&gt;
485
-
486
- Document directory path
487
-
488
- ## Remarks
489
-
490
- In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
491
-
492
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
493
-
494
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
495
-
496
- ### getedapath
497
-
498
- # SYS\_FileSystem.getEdaPath() method
499
-
500
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
501
-
502
- Get the EDA document directory path
503
-
504
- ## Signature
505
-
506
- ```typescript
507
- function getEdaPath(): Promise<string>;
508
- ```
509
-
510
- ## Returns
511
-
512
- Promise&lt;string&gt;
513
-
514
- EDA document directory path
515
-
516
- ## Remarks
517
-
518
- In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
519
-
520
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
521
-
522
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
523
-
524
- ### getextensionfile
525
-
526
- # SYS\_FileSystem.getExtensionFile() method
527
-
528
- Get a file from the extension
529
-
530
- ## Signature
531
-
532
- ```typescript
533
- function getExtensionFile(uri: string): Promise<File | undefined>;
534
- ```
535
-
536
- ## Parameters
537
-
538
- <table><thead><tr><th>
539
-
540
- Parameter
541
-
542
- </th><th>
543
-
544
- Type
545
-
546
- </th><th>
547
-
548
- Description
549
-
550
- </th></tr></thead>
551
- <tbody><tr><td>
552
-
553
- uri
554
-
555
- </td><td>
556
-
557
- string
558
-
559
- </td><td>
560
-
561
- File path
562
-
563
- </td></tr>
564
- </tbody></table>
565
-
566
- ## Returns
567
-
568
- Promise&lt;File \| undefined&gt;
569
-
570
- File format file
571
-
572
- ## Example
573
-
574
- ```javascript
575
- // 1. 读取扩展安装目录下的 extension.json
576
- const file = await eda.sys_FileSystem.getExtensionFile('extension.json');
577
-
578
- // 2. 输出文件信息(size 单位为字节,内容可用 file.text() 读取)
579
- console.log('文件名:', file.name);
580
- console.log('文件大小:', file.size);
581
- ```
582
-
583
- ### getlibrariespaths
584
-
585
- # SYS\_FileSystem.getLibrariesPaths() method
586
-
587
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
588
-
589
- Get the library directory paths
590
-
591
- ## Signature
592
-
593
- ```typescript
594
- function getLibrariesPaths(): Promise<Array<string>>;
595
- ```
596
-
597
- ## Returns
598
-
599
- Promise&lt;Array&lt;string&gt;&gt;
600
-
601
- Array of library directory paths
602
-
603
- ## Remarks
604
-
605
- Note 1: This API is only valid for fully offline clients. Calling it in a browser environment will always `throw Error`
606
-
607
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
608
-
609
- ### getprojectspaths
610
-
611
- # SYS\_FileSystem.getProjectsPaths() method
612
-
613
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
614
-
615
- Get the project directory paths
616
-
617
- ## Signature
618
-
619
- ```typescript
620
- function getProjectsPaths(): Promise<Array<string>>;
621
- ```
622
-
623
- ## Returns
624
-
625
- Promise&lt;Array&lt;string&gt;&gt;
626
-
627
- Array of project directory paths
628
-
629
- ## Remarks
630
-
631
- Note 1: This API is only valid for semi-offline and fully offline clients. Calling it in a browser environment will always `throw Error`
632
-
633
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
634
-
635
- ### listfilesoffilesystem
636
-
637
- # SYS\_FileSystem.listFilesOfFileSystem() method
638
-
639
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
640
-
641
- View the file list under a file system path
642
-
643
- ## Signature
644
-
645
- ```typescript
646
- function listFilesOfFileSystem(
647
- folderPath: string,
648
- recursive?: boolean,
649
- ): Promise<Array<ISYS_FileSystemFileList>>;
650
- ```
651
-
652
- ## Parameters
653
-
654
- <table><thead><tr><th>
655
-
656
- Parameter
657
-
658
- </th><th>
659
-
660
- Type
661
-
662
- </th><th>
663
-
664
- Description
665
-
666
- </th></tr></thead>
667
- <tbody><tr><td>
668
-
669
- folderPath
670
-
671
- </td><td>
672
-
673
- string
674
-
675
- </td><td>
676
-
677
- Directory path
678
-
679
- </td></tr>
680
- <tr><td>
681
-
682
- recursive
683
-
684
- </td><td>
685
-
686
- boolean
687
-
688
- </td><td>
689
-
690
- _(Optional)_ Whether to recursively get all sub-files
691
-
692
- </td></tr>
693
- </tbody></table>
694
-
695
- ## Returns
696
-
697
- Promise&lt;Array&lt;[ISYS\_FileSystemFileList](../interfaces/ISYS_FileSystemFileList.md)<!-- -->&gt;&gt;
698
-
699
- File list in the current directory
700
-
701
- ## Remarks
702
-
703
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
704
-
705
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
706
-
707
- ### openreadfiledialog
708
-
709
- # SYS\_FileSystem.openReadFileDialog() method
710
-
711
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
712
-
713
- Open the read-file dialog
714
-
715
- ## Signature
716
-
717
- ```typescript
718
- function openReadFileDialog(
719
- filenameExtensions?: string | Array<string>,
720
- multiFiles?: true,
721
- ): Promise<Array<File> | undefined>;
722
- ```
723
-
724
- ## Parameters
725
-
726
- <table><thead><tr><th>
727
-
728
- Parameter
729
-
730
- </th><th>
731
-
732
- Type
733
-
734
- </th><th>
735
-
736
- Description
737
-
738
- </th></tr></thead>
739
- <tbody><tr><td>
740
-
741
- filenameExtensions
742
-
743
- </td><td>
744
-
745
- string \| Array&lt;string&gt;
746
-
747
- </td><td>
748
-
749
- _(Optional)_ File extension
750
-
751
- </td></tr>
752
- <tr><td>
753
-
754
- multiFiles
755
-
756
- </td><td>
757
-
758
- true
759
-
760
- </td><td>
761
-
762
- _(Optional)_ Whether multiple files are allowed to be read
763
-
764
- </td></tr>
765
- </tbody></table>
766
-
767
- ## Returns
768
-
769
- Promise&lt;Array&lt;File&gt; \| undefined&gt;
770
-
771
- File format file array
772
-
773
- ## Example
774
-
775
- ```javascript
776
- // 1. 打开选择窗口(限定 .json 文件,单选;用户选择前 Promise 一直挂起)
777
- eda.sys_FileSystem.openReadFileDialog('.json').then((file) => {
778
- // 用户完成选择后触发;直接关闭窗口时 file 为 undefined
779
- if (file) {
780
- console.log('已选择文件:', file.name);
781
- }
782
- });
783
-
784
- // 2. 窗口已弹出,主流程不等待用户操作
785
- console.log('已打开文件选择窗口');
786
- ```
787
-
788
- ### openreadfiledialog_1
789
-
790
- # SYS\_FileSystem.openReadFileDialog() method
791
-
792
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
793
-
794
- Open the read-file dialog
795
-
796
- ## Signature
797
-
798
- ```typescript
799
- function openReadFileDialog(
800
- filenameExtensions?: string | Array<string>,
801
- multiFiles?: false,
802
- ): Promise<File | undefined>;
803
- ```
804
-
805
- ## Parameters
806
-
807
- <table><thead><tr><th>
808
-
809
- Parameter
810
-
811
- </th><th>
812
-
813
- Type
814
-
815
- </th><th>
816
-
817
- Description
818
-
819
- </th></tr></thead>
820
- <tbody><tr><td>
821
-
822
- filenameExtensions
823
-
824
- </td><td>
825
-
826
- string \| Array&lt;string&gt;
827
-
828
- </td><td>
829
-
830
- _(Optional)_ File extension
831
-
832
- </td></tr>
833
- <tr><td>
834
-
835
- multiFiles
836
-
837
- </td><td>
838
-
839
- false
840
-
841
- </td><td>
842
-
843
- _(Optional)_ Whether multiple files are allowed to be read
844
-
845
- </td></tr>
846
- </tbody></table>
847
-
848
- ## Returns
849
-
850
- Promise&lt;File \| undefined&gt;
851
-
852
- File format file
853
-
854
- ### openreadfolderdialog
855
-
856
- # SYS\_FileSystem.openReadFolderDialog() method
857
-
858
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
859
-
860
- Open the read-folder dialog
861
-
862
- ## Signature
863
-
864
- ```typescript
865
- function openReadFolderDialog(): Promise<Array<{ relativePath: string; file: File }>>;
866
- ```
867
-
868
- ## Returns
869
-
870
- Promise&lt;Array&lt;{ relativePath: string; file: File }&gt;&gt;
871
-
872
- All read files and their path information
873
-
874
- ## Remarks
875
-
876
- developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory \| MDN<!-- -->} ADD since EDA v4.2
877
-
878
- ### readfilefromfilesystem
879
-
880
- # SYS\_FileSystem.readFileFromFileSystem() method
881
-
882
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
883
-
884
- Read a file from the file system
885
-
886
- ## Signature
887
-
888
- ```typescript
889
- function readFileFromFileSystem(uri: string): Promise<File | undefined>;
890
- ```
891
-
892
- ## Parameters
893
-
894
- <table><thead><tr><th>
895
-
896
- Parameter
897
-
898
- </th><th>
899
-
900
- Type
901
-
902
- </th><th>
903
-
904
- Description
905
-
906
- </th></tr></thead>
907
- <tbody><tr><td>
908
-
909
- uri
910
-
911
- </td><td>
912
-
913
- string
914
-
915
- </td><td>
916
-
917
- File resource locator. An absolute path containing the complete file name is required
918
-
919
- </td></tr>
920
- </tbody></table>
921
-
922
- ## Returns
923
-
924
- Promise&lt;File \| undefined&gt;
925
-
926
- File format file
927
-
928
- ## Remarks
929
-
930
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
931
-
932
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
933
-
934
- ### revokeobjecturl
935
-
936
- # SYS\_FileSystem.revokeObjectURL() method
937
-
938
- Revoke the ObjectURL
939
-
940
- ## Signature
941
-
942
- ```typescript
943
- function revokeObjectURL(url: string): void;
944
- ```
945
-
946
- ## Parameters
947
-
948
- <table><thead><tr><th>
949
-
950
- Parameter
951
-
952
- </th><th>
953
-
954
- Type
955
-
956
- </th><th>
957
-
958
- Description
959
-
960
- </th></tr></thead>
961
- <tbody><tr><td>
962
-
963
- url
964
-
965
- </td><td>
966
-
967
- string
968
-
969
- </td><td>
970
-
971
- ObjectURL string
972
-
973
- </td></tr>
974
- </tbody></table>
975
-
976
- ## Returns
977
-
978
- void
979
-
980
- ## Remarks
981
-
982
- Revoke the specified ObjectURL ADD since EDA v3.2.162
983
-
984
- ## Example
985
-
986
- ```javascript
987
- // 1. 先创建一个 ObjectURL
988
- const blob = new Blob(['嘉立创示例数据']);
989
- const url = eda.sys_FileSystem.createObjectURL(blob);
990
- console.log('创建的 ObjectURL:', url);
991
-
992
- // 2. 用完后吊销(同步方法,无返回值)
993
- eda.sys_FileSystem.revokeObjectURL(url);
994
- console.log('已吊销');
995
- ```
996
-
997
- ### savefile
998
-
999
- # SYS\_FileSystem.saveFile() method
1000
-
1001
- Save File
1002
-
1003
- ## Signature
1004
-
1005
- ```typescript
1006
- function saveFile(fileData: File | Blob, fileName?: string): Promise<void>;
1007
- ```
1008
-
1009
- ## Parameters
1010
-
1011
- <table><thead><tr><th>
1012
-
1013
- Parameter
1014
-
1015
- </th><th>
1016
-
1017
- Type
1018
-
1019
- </th><th>
1020
-
1021
- Description
1022
-
1023
- </th></tr></thead>
1024
- <tbody><tr><td>
1025
-
1026
- fileData
1027
-
1028
- </td><td>
1029
-
1030
- File \| Blob
1031
-
1032
- </td><td>
1033
-
1034
- File data
1035
-
1036
- </td></tr>
1037
- <tr><td>
1038
-
1039
- fileName
1040
-
1041
- </td><td>
1042
-
1043
- string
1044
-
1045
- </td><td>
1046
-
1047
- _(Optional)_ File name
1048
-
1049
- </td></tr>
1050
- </tbody></table>
1051
-
1052
- ## Returns
1053
-
1054
- Promise&lt;void&gt;
1055
-
1056
- ## Remarks
1057
-
1058
- Calls the browser download API or the Electron save-file API to save the passed-in file stream locally
1059
-
1060
- ## Example
1061
-
1062
- ```javascript
1063
- // 1. 构造要保存的 CSV 内容
1064
- const content = '编号,器件,数量\n1,C0402,10\n2,C0603,20';
1065
- const blob = new Blob([content], { type: 'text/csv' });
1066
-
1067
- // 2. 保存到本地(完成后 Promise 才结束)
1068
- await eda.sys_FileSystem.saveFile(blob, '嘉立创示例_BOM导出.csv');
1069
-
1070
- console.log('已保存文件:', '嘉立创示例_BOM导出.csv', blob.size, '字节');
1071
- ```
1072
-
1073
- ### savefiletofilesystem
1074
-
1075
- # SYS\_FileSystem.saveFileToFileSystem() method
1076
-
1077
- > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1078
-
1079
- Write a file to the file system
1080
-
1081
- ## Signature
1082
-
1083
- ```typescript
1084
- function saveFileToFileSystem(
1085
- uri: string,
1086
- fileData: File | Blob,
1087
- fileName?: string,
1088
- force?: boolean,
1089
- ): Promise<boolean>;
1090
- ```
1091
-
1092
- ## Parameters
1093
-
1094
- <table><thead><tr><th>
1095
-
1096
- Parameter
1097
-
1098
- </th><th>
1099
-
1100
- Type
1101
-
1102
- </th><th>
1103
-
1104
- Description
1105
-
1106
- </th></tr></thead>
1107
- <tbody><tr><td>
1108
-
1109
- uri
1110
-
1111
- </td><td>
1112
-
1113
- string
1114
-
1115
- </td><td>
1116
-
1117
- File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
1118
-
1119
- </td></tr>
1120
- <tr><td>
1121
-
1122
- fileData
1123
-
1124
- </td><td>
1125
-
1126
- File \| Blob
1127
-
1128
- </td><td>
1129
-
1130
- File data
1131
-
1132
- </td></tr>
1133
- <tr><td>
1134
-
1135
- fileName
1136
-
1137
- </td><td>
1138
-
1139
- string
1140
-
1141
- </td><td>
1142
-
1143
- _(Optional)_ File name
1144
-
1145
- </td></tr>
1146
- <tr><td>
1147
-
1148
- force
1149
-
1150
- </td><td>
1151
-
1152
- boolean
1153
-
1154
- </td><td>
1155
-
1156
- _(Optional)_ Force write (overwrite the file if it exists)
1157
-
1158
- </td></tr>
1159
- </tbody></table>
1160
-
1161
- ## Returns
1162
-
1163
- Promise&lt;boolean&gt;
1164
-
1165
- Whether the write operation was successful. If overwriting is not allowed but the file already exists, `false` is returned
1166
-
1167
- ## Remarks
1168
-
1169
- Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
1170
-
1171
- Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
1
+ # SYS\_FileSystem class
2
+
3
+ System / file system interaction class
4
+
5
+ ## Signature
6
+
7
+ ```typescript
8
+ class SYS_FileSystem
9
+ ```
10
+
11
+ ## Remarks
12
+
13
+ ## Methods
14
+
15
+ <table><thead><tr><th>
16
+
17
+ Method
18
+
19
+ </th><th>
20
+
21
+ Modifiers
22
+
23
+ </th><th>
24
+
25
+ Description
26
+
27
+ </th></tr></thead>
28
+ <tbody><tr><td>
29
+
30
+ [createDirectoryInFileSystem(folderPath)](./SYS_FileSystem.md)
31
+
32
+ </td><td>
33
+
34
+ </td><td>
35
+
36
+ **_(BETA)_** In file system in create folder
37
+
38
+ </td></tr>
39
+ <tr><td>
40
+
41
+ [createObjectURL(blob)](./SYS_FileSystem.md)
42
+
43
+ </td><td>
44
+
45
+ </td><td>
46
+
47
+ Create ObjectURL
48
+
49
+ </td></tr>
50
+ <tr><td>
51
+
52
+ [deleteFileInFileSystem(uri, force)](./SYS_FileSystem.md)
53
+
54
+ </td><td>
55
+
56
+ </td><td>
57
+
58
+ **_(BETA)_** Delete a file in the file system
59
+
60
+ </td></tr>
61
+ <tr><td>
62
+
63
+ [existsPathInFileSystem(uri)](./SYS_FileSystem.md)
64
+
65
+ </td><td>
66
+
67
+ </td><td>
68
+
69
+ **_(BETA)_** Check whether a file or directory exists in the file system
70
+
71
+ </td></tr>
72
+ <tr><td>
73
+
74
+ [getDocumentsPath()](./SYS_FileSystem.md)
75
+
76
+ </td><td>
77
+
78
+ </td><td>
79
+
80
+ **_(BETA)_** Get the document directory path
81
+
82
+ </td></tr>
83
+ <tr><td>
84
+
85
+ [getEdaPath()](./SYS_FileSystem.md)
86
+
87
+ </td><td>
88
+
89
+ </td><td>
90
+
91
+ **_(BETA)_** Get the EDA document directory path
92
+
93
+ </td></tr>
94
+ <tr><td>
95
+
96
+ [getExtensionFile(uri)](./SYS_FileSystem.md)
97
+
98
+ </td><td>
99
+
100
+ </td><td>
101
+
102
+ Get a file from the extension
103
+
104
+ </td></tr>
105
+ <tr><td>
106
+
107
+ [getLibrariesPaths()](./SYS_FileSystem.md)
108
+
109
+ </td><td>
110
+
111
+ </td><td>
112
+
113
+ **_(BETA)_** Get the library directory paths
114
+
115
+ </td></tr>
116
+ <tr><td>
117
+
118
+ [getProjectsPaths()](./SYS_FileSystem.md)
119
+
120
+ </td><td>
121
+
122
+ </td><td>
123
+
124
+ **_(BETA)_** Get the project directory paths
125
+
126
+ </td></tr>
127
+ <tr><td>
128
+
129
+ [listFilesOfFileSystem(folderPath, recursive)](./SYS_FileSystem.md)
130
+
131
+ </td><td>
132
+
133
+ </td><td>
134
+
135
+ **_(BETA)_** View the file list under a file system path
136
+
137
+ </td></tr>
138
+ <tr><td>
139
+
140
+ [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
141
+
142
+ </td><td>
143
+
144
+ </td><td>
145
+
146
+ **_(BETA)_** Open the read-file dialog
147
+
148
+ </td></tr>
149
+ <tr><td>
150
+
151
+ [openReadFileDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
152
+
153
+ </td><td>
154
+
155
+ </td><td>
156
+
157
+ **_(BETA)_** Open the read-file dialog
158
+
159
+ </td></tr>
160
+ <tr><td>
161
+
162
+ [openReadFilePathDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
163
+
164
+ </td><td>
165
+
166
+ </td><td>
167
+
168
+ **_(BETA)_** 打开读取文件路径窗口
169
+
170
+ </td></tr>
171
+ <tr><td>
172
+
173
+ [openReadFilePathDialog(filenameExtensions, multiFiles)](./SYS_FileSystem.md)
174
+
175
+ </td><td>
176
+
177
+ </td><td>
178
+
179
+ **_(BETA)_** 打开读取文件路径窗口
180
+
181
+ </td></tr>
182
+ <tr><td>
183
+
184
+ [openReadFolderDialog()](./SYS_FileSystem.md)
185
+
186
+ </td><td>
187
+
188
+ </td><td>
189
+
190
+ **_(BETA)_** Open the read-folder dialog
191
+
192
+ </td></tr>
193
+ <tr><td>
194
+
195
+ [openReadFolderPathDialog()](./SYS_FileSystem.md)
196
+
197
+ </td><td>
198
+
199
+ </td><td>
200
+
201
+ **_(BETA)_** 打开读取目录路径窗口
202
+
203
+ </td></tr>
204
+ <tr><td>
205
+
206
+ [readFileFromFileSystem(uri)](./SYS_FileSystem.md)
207
+
208
+ </td><td>
209
+
210
+ </td><td>
211
+
212
+ **_(BETA)_** Read a file from the file system
213
+
214
+ </td></tr>
215
+ <tr><td>
216
+
217
+ [revokeObjectURL(url)](./SYS_FileSystem.md)
218
+
219
+ </td><td>
220
+
221
+ </td><td>
222
+
223
+ Revoke the ObjectURL
224
+
225
+ </td></tr>
226
+ <tr><td>
227
+
228
+ [saveFile(fileData, fileName)](./SYS_FileSystem.md)
229
+
230
+ </td><td>
231
+
232
+ </td><td>
233
+
234
+ Save File
235
+
236
+ </td></tr>
237
+ <tr><td>
238
+
239
+ [saveFileToFileSystem(uri, fileData, fileName)](./SYS_FileSystem.md)
240
+
241
+ </td><td>
242
+
243
+ </td><td>
244
+
245
+ **_(BETA)_** Write a file to the file system
246
+
247
+ </td></tr>
248
+ </tbody></table>
249
+
250
+ ---
251
+
252
+ ## 方法详情
253
+
254
+ ### createdirectoryinfilesystem
255
+
256
+ # SYS\_FileSystem.createDirectoryInFileSystem() method
257
+
258
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
259
+
260
+ In file system in create folder
261
+
262
+ ## Signature
263
+
264
+ ```typescript
265
+ function createDirectoryInFileSystem(folderPath: string): Promise<boolean>;
266
+ ```
267
+
268
+ ## Parameters
269
+
270
+ <table><thead><tr><th>
271
+
272
+ Parameter
273
+
274
+ </th><th>
275
+
276
+ Type
277
+
278
+ </th><th>
279
+
280
+ Description
281
+
282
+ </th></tr></thead>
283
+ <tbody><tr><td>
284
+
285
+ folderPath
286
+
287
+ </td><td>
288
+
289
+ string
290
+
291
+ </td><td>
292
+
293
+ Folder path
294
+
295
+ </td></tr>
296
+ </tbody></table>
297
+
298
+ ## Returns
299
+
300
+ Promise&lt;boolean&gt;
301
+
302
+ Create Whether the operation is successful
303
+
304
+ ## Remarks
305
+
306
+ Supports recursively creating multi-level directories
307
+
308
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
309
+
310
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.166
311
+
312
+ ### createobjecturl
313
+
314
+ # SYS\_FileSystem.createObjectURL() method
315
+
316
+ Create ObjectURL
317
+
318
+ ## Signature
319
+
320
+ ```typescript
321
+ function createObjectURL(blob: Blob | File): string;
322
+ ```
323
+
324
+ ## Parameters
325
+
326
+ <table><thead><tr><th>
327
+
328
+ Parameter
329
+
330
+ </th><th>
331
+
332
+ Type
333
+
334
+ </th><th>
335
+
336
+ Description
337
+
338
+ </th></tr></thead>
339
+ <tbody><tr><td>
340
+
341
+ blob
342
+
343
+ </td><td>
344
+
345
+ Blob \| File
346
+
347
+ </td><td>
348
+
349
+ Blob or File object
350
+
351
+ </td></tr>
352
+ </tbody></table>
353
+
354
+ ## Returns
355
+
356
+ string
357
+
358
+ ObjectURL string
359
+
360
+ ## Remarks
361
+
362
+ Create an ObjectURL pointing to the passed-in Blob / File object ADD since EDA v3.2.162
363
+
364
+ ## Example
365
+
366
+ ```javascript
367
+ // 1. 构造一段文本数据
368
+ const blob = new Blob(['嘉立创示例数据'], { type: 'text/plain' });
369
+
370
+ // 2. 创建 ObjectURL(同步方法,直接返回字符串)
371
+ const url = eda.sys_FileSystem.createObjectURL(blob);
372
+
373
+ console.log('ObjectURL:', url);
374
+ ```
375
+
376
+ ### deletefileinfilesystem
377
+
378
+ # SYS\_FileSystem.deleteFileInFileSystem() method
379
+
380
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
381
+
382
+ Delete a file in the file system
383
+
384
+ ## Signature
385
+
386
+ ```typescript
387
+ function deleteFileInFileSystem(uri: string, force?: boolean): Promise<boolean>;
388
+ ```
389
+
390
+ ## Parameters
391
+
392
+ <table><thead><tr><th>
393
+
394
+ Parameter
395
+
396
+ </th><th>
397
+
398
+ Type
399
+
400
+ </th><th>
401
+
402
+ Description
403
+
404
+ </th></tr></thead>
405
+ <tbody><tr><td>
406
+
407
+ uri
408
+
409
+ </td><td>
410
+
411
+ string
412
+
413
+ </td><td>
414
+
415
+ File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
416
+
417
+ </td></tr>
418
+ <tr><td>
419
+
420
+ force
421
+
422
+ </td><td>
423
+
424
+ boolean
425
+
426
+ </td><td>
427
+
428
+ _(Optional)_ Force delete the folder (whether to force delete the folder when the target is a folder containing files)
429
+
430
+ </td></tr>
431
+ </tbody></table>
432
+
433
+ ## Returns
434
+
435
+ Promise&lt;boolean&gt;
436
+
437
+ Delete Whether the operation is successful
438
+
439
+ ## Remarks
440
+
441
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
442
+
443
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
444
+
445
+ ### existspathinfilesystem
446
+
447
+ # SYS\_FileSystem.existsPathInFileSystem() method
448
+
449
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
450
+
451
+ Check whether a file or directory exists in the file system
452
+
453
+ ## Signature
454
+
455
+ ```typescript
456
+ function existsPathInFileSystem(uri: string): Promise<boolean>;
457
+ ```
458
+
459
+ ## Parameters
460
+
461
+ <table><thead><tr><th>
462
+
463
+ Parameter
464
+
465
+ </th><th>
466
+
467
+ Type
468
+
469
+ </th><th>
470
+
471
+ Description
472
+
473
+ </th></tr></thead>
474
+ <tbody><tr><td>
475
+
476
+ uri
477
+
478
+ </td><td>
479
+
480
+ string
481
+
482
+ </td><td>
483
+
484
+ File resource locator. An absolute path containing the complete file name is required
485
+
486
+ </td></tr>
487
+ </tbody></table>
488
+
489
+ ## Returns
490
+
491
+ Promise&lt;boolean&gt;
492
+
493
+ Whether the file or directory exists
494
+
495
+ ## Remarks
496
+
497
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
498
+
499
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error` ADD since EDA v3.2.167
500
+
501
+ ### getdocumentspath
502
+
503
+ # SYS\_FileSystem.getDocumentsPath() method
504
+
505
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
506
+
507
+ Get the document directory path
508
+
509
+ ## Signature
510
+
511
+ ```typescript
512
+ function getDocumentsPath(): Promise<string>;
513
+ ```
514
+
515
+ ## Returns
516
+
517
+ Promise&lt;string&gt;
518
+
519
+ Document directory path
520
+
521
+ ## Remarks
522
+
523
+ In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
524
+
525
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
526
+
527
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
528
+
529
+ ### getedapath
530
+
531
+ # SYS\_FileSystem.getEdaPath() method
532
+
533
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
534
+
535
+ Get the EDA document directory path
536
+
537
+ ## Signature
538
+
539
+ ```typescript
540
+ function getEdaPath(): Promise<string>;
541
+ ```
542
+
543
+ ## Returns
544
+
545
+ Promise&lt;string&gt;
546
+
547
+ EDA document directory path
548
+
549
+ ## Remarks
550
+
551
+ In the returned path, the end does not contain a slash `/` (or a backslash `\`<!-- -->)
552
+
553
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
554
+
555
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
556
+
557
+ ### getextensionfile
558
+
559
+ # SYS\_FileSystem.getExtensionFile() method
560
+
561
+ Get a file from the extension
562
+
563
+ ## Signature
564
+
565
+ ```typescript
566
+ function getExtensionFile(uri: string): Promise<File | undefined>;
567
+ ```
568
+
569
+ ## Parameters
570
+
571
+ <table><thead><tr><th>
572
+
573
+ Parameter
574
+
575
+ </th><th>
576
+
577
+ Type
578
+
579
+ </th><th>
580
+
581
+ Description
582
+
583
+ </th></tr></thead>
584
+ <tbody><tr><td>
585
+
586
+ uri
587
+
588
+ </td><td>
589
+
590
+ string
591
+
592
+ </td><td>
593
+
594
+ File path
595
+
596
+ </td></tr>
597
+ </tbody></table>
598
+
599
+ ## Returns
600
+
601
+ Promise&lt;File \| undefined&gt;
602
+
603
+ File format file
604
+
605
+ ## Example
606
+
607
+ ```javascript
608
+ // 1. 读取扩展安装目录下的 extension.json
609
+ const file = await eda.sys_FileSystem.getExtensionFile('extension.json');
610
+
611
+ // 2. 输出文件信息(size 单位为字节,内容可用 file.text() 读取)
612
+ console.log('文件名:', file.name);
613
+ console.log('文件大小:', file.size);
614
+ ```
615
+
616
+ ### getlibrariespaths
617
+
618
+ # SYS\_FileSystem.getLibrariesPaths() method
619
+
620
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
621
+
622
+ Get the library directory paths
623
+
624
+ ## Signature
625
+
626
+ ```typescript
627
+ function getLibrariesPaths(): Promise<Array<string>>;
628
+ ```
629
+
630
+ ## Returns
631
+
632
+ Promise&lt;Array&lt;string&gt;&gt;
633
+
634
+ Array of library directory paths
635
+
636
+ ## Remarks
637
+
638
+ Note 1: This API is only valid for fully offline clients. Calling it in a browser environment will always `throw Error`
639
+
640
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
641
+
642
+ ### getprojectspaths
643
+
644
+ # SYS\_FileSystem.getProjectsPaths() method
645
+
646
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
647
+
648
+ Get the project directory paths
649
+
650
+ ## Signature
651
+
652
+ ```typescript
653
+ function getProjectsPaths(): Promise<Array<string>>;
654
+ ```
655
+
656
+ ## Returns
657
+
658
+ Promise&lt;Array&lt;string&gt;&gt;
659
+
660
+ Array of project directory paths
661
+
662
+ ## Remarks
663
+
664
+ Note 1: This API is only valid for semi-offline and fully offline clients. Calling it in a browser environment will always `throw Error`
665
+
666
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
667
+
668
+ ### listfilesoffilesystem
669
+
670
+ # SYS\_FileSystem.listFilesOfFileSystem() method
671
+
672
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
673
+
674
+ View the file list under a file system path
675
+
676
+ ## Signature
677
+
678
+ ```typescript
679
+ function listFilesOfFileSystem(
680
+ folderPath: string,
681
+ recursive?: boolean,
682
+ ): Promise<Array<ISYS_FileSystemFileList>>;
683
+ ```
684
+
685
+ ## Parameters
686
+
687
+ <table><thead><tr><th>
688
+
689
+ Parameter
690
+
691
+ </th><th>
692
+
693
+ Type
694
+
695
+ </th><th>
696
+
697
+ Description
698
+
699
+ </th></tr></thead>
700
+ <tbody><tr><td>
701
+
702
+ folderPath
703
+
704
+ </td><td>
705
+
706
+ string
707
+
708
+ </td><td>
709
+
710
+ Directory path
711
+
712
+ </td></tr>
713
+ <tr><td>
714
+
715
+ recursive
716
+
717
+ </td><td>
718
+
719
+ boolean
720
+
721
+ </td><td>
722
+
723
+ _(Optional)_ Whether to recursively get all sub-files
724
+
725
+ </td></tr>
726
+ </tbody></table>
727
+
728
+ ## Returns
729
+
730
+ Promise&lt;Array&lt;[ISYS\_FileSystemFileList](../interfaces/ISYS_FileSystemFileList.md)<!-- -->&gt;&gt;
731
+
732
+ File list in the current directory
733
+
734
+ ## Remarks
735
+
736
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
737
+
738
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
739
+
740
+ ### openreadfiledialog
741
+
742
+ # SYS\_FileSystem.openReadFileDialog() method
743
+
744
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
745
+
746
+ Open the read-file dialog
747
+
748
+ ## Signature
749
+
750
+ ```typescript
751
+ function openReadFileDialog(
752
+ filenameExtensions?: string | Array<string>,
753
+ multiFiles?: true,
754
+ ): Promise<Array<File> | undefined>;
755
+ ```
756
+
757
+ ## Parameters
758
+
759
+ <table><thead><tr><th>
760
+
761
+ Parameter
762
+
763
+ </th><th>
764
+
765
+ Type
766
+
767
+ </th><th>
768
+
769
+ Description
770
+
771
+ </th></tr></thead>
772
+ <tbody><tr><td>
773
+
774
+ filenameExtensions
775
+
776
+ </td><td>
777
+
778
+ string \| Array&lt;string&gt;
779
+
780
+ </td><td>
781
+
782
+ _(Optional)_ File extension
783
+
784
+ </td></tr>
785
+ <tr><td>
786
+
787
+ multiFiles
788
+
789
+ </td><td>
790
+
791
+ true
792
+
793
+ </td><td>
794
+
795
+ _(Optional)_ Whether multiple files are allowed to be read
796
+
797
+ </td></tr>
798
+ </tbody></table>
799
+
800
+ ## Returns
801
+
802
+ Promise&lt;Array&lt;File&gt; \| undefined&gt;
803
+
804
+ File format file array
805
+
806
+ ## Remarks
807
+
808
+ 本接口需要打开浏览器模态窗口,在用户于页面上进行最后一次操作的时间节点开始计算, 达到 5000ms(部分浏览器时效)后将无法使用 JavaScript 脚本唤起窗口,这是浏览器的限制
809
+
810
+ ## Example
811
+
812
+ ```javascript
813
+ // 1. 打开选择窗口(限定 .json 文件,单选;用户选择前 Promise 一直挂起)
814
+ eda.sys_FileSystem.openReadFileDialog('.json').then((file) => {
815
+ // 用户完成选择后触发;直接关闭窗口时 file 为 undefined
816
+ if (file) {
817
+ console.log('已选择文件:', file.name);
818
+ }
819
+ });
820
+
821
+ // 2. 窗口已弹出,主流程不等待用户操作
822
+ console.log('已打开文件选择窗口');
823
+ ```
824
+
825
+ ### openreadfiledialog_1
826
+
827
+ # SYS\_FileSystem.openReadFileDialog() method
828
+
829
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
830
+
831
+ Open the read-file dialog
832
+
833
+ ## Signature
834
+
835
+ ```typescript
836
+ function openReadFileDialog(
837
+ filenameExtensions?: string | Array<string>,
838
+ multiFiles?: false,
839
+ ): Promise<File | undefined>;
840
+ ```
841
+
842
+ ## Parameters
843
+
844
+ <table><thead><tr><th>
845
+
846
+ Parameter
847
+
848
+ </th><th>
849
+
850
+ Type
851
+
852
+ </th><th>
853
+
854
+ Description
855
+
856
+ </th></tr></thead>
857
+ <tbody><tr><td>
858
+
859
+ filenameExtensions
860
+
861
+ </td><td>
862
+
863
+ string \| Array&lt;string&gt;
864
+
865
+ </td><td>
866
+
867
+ _(Optional)_ File extension
868
+
869
+ </td></tr>
870
+ <tr><td>
871
+
872
+ multiFiles
873
+
874
+ </td><td>
875
+
876
+ false
877
+
878
+ </td><td>
879
+
880
+ _(Optional)_ Whether multiple files are allowed to be read
881
+
882
+ </td></tr>
883
+ </tbody></table>
884
+
885
+ ## Returns
886
+
887
+ Promise&lt;File \| undefined&gt;
888
+
889
+ File format file
890
+
891
+ ### openreadfilepathdialog
892
+
893
+ # SYS\_FileSystem.openReadFilePathDialog() method
894
+
895
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
896
+
897
+ 打开读取文件路径窗口
898
+
899
+ ## Signature
900
+
901
+ ```typescript
902
+ function openReadFilePathDialog(
903
+ filenameExtensions?: string | Array<string>,
904
+ multiFiles?: true,
905
+ ): Promise<Array<string>>;
906
+ ```
907
+
908
+ ## Parameters
909
+
910
+ <table><thead><tr><th>
911
+
912
+ Parameter
913
+
914
+ </th><th>
915
+
916
+ Type
917
+
918
+ </th><th>
919
+
920
+ Description
921
+
922
+ </th></tr></thead>
923
+ <tbody><tr><td>
924
+
925
+ filenameExtensions
926
+
927
+ </td><td>
928
+
929
+ string \| Array&lt;string&gt;
930
+
931
+ </td><td>
932
+
933
+ _(Optional)_ 文件扩展名
934
+
935
+ </td></tr>
936
+ <tr><td>
937
+
938
+ multiFiles
939
+
940
+ </td><td>
941
+
942
+ true
943
+
944
+ </td><td>
945
+
946
+ _(Optional)_ 是否允许读取多文件;受客户端协议限制,当前仅支持单选,`multiFiles=true` 时将返回单元素数组
947
+
948
+ </td></tr>
949
+ </tbody></table>
950
+
951
+ ## Returns
952
+
953
+ Promise&lt;Array&lt;string&gt;&gt;
954
+
955
+ 文件路径数组
956
+
957
+ ## Remarks
958
+
959
+ ADD since EDA v3.2.201 注意:本接口仅客户端有效,在浏览器环境内调用将始终 `throw Error`
960
+
961
+ / EDA v4.1.54
962
+
963
+ ### openreadfilepathdialog_1
964
+
965
+ # SYS\_FileSystem.openReadFilePathDialog() method
966
+
967
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
968
+
969
+ 打开读取文件路径窗口
970
+
971
+ ## Signature
972
+
973
+ ```typescript
974
+ function openReadFilePathDialog(
975
+ filenameExtensions?: string | Array<string>,
976
+ multiFiles?: false,
977
+ ): Promise<string | undefined>;
978
+ ```
979
+
980
+ ## Parameters
981
+
982
+ <table><thead><tr><th>
983
+
984
+ Parameter
985
+
986
+ </th><th>
987
+
988
+ Type
989
+
990
+ </th><th>
991
+
992
+ Description
993
+
994
+ </th></tr></thead>
995
+ <tbody><tr><td>
996
+
997
+ filenameExtensions
998
+
999
+ </td><td>
1000
+
1001
+ string \| Array&lt;string&gt;
1002
+
1003
+ </td><td>
1004
+
1005
+ _(Optional)_ 文件扩展名
1006
+
1007
+ </td></tr>
1008
+ <tr><td>
1009
+
1010
+ multiFiles
1011
+
1012
+ </td><td>
1013
+
1014
+ false
1015
+
1016
+ </td><td>
1017
+
1018
+ _(Optional)_ 是否允许读取多文件;受客户端协议限制,当前仅支持单选,`multiFiles=true` 时将返回单元素数组
1019
+
1020
+ </td></tr>
1021
+ </tbody></table>
1022
+
1023
+ ## Returns
1024
+
1025
+ Promise&lt;string \| undefined&gt;
1026
+
1027
+ 文件路径
1028
+
1029
+ ## Remarks
1030
+
1031
+ ADD since EDA v3.2.201 注意:本接口仅客户端有效,在浏览器环境内调用将始终 `throw Error`
1032
+
1033
+ / EDA v4.1.54
1034
+
1035
+ ### openreadfolderdialog
1036
+
1037
+ # SYS\_FileSystem.openReadFolderDialog() method
1038
+
1039
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1040
+
1041
+ Open the read-folder dialog
1042
+
1043
+ ## Signature
1044
+
1045
+ ```typescript
1046
+ function openReadFolderDialog(): Promise<Array<{ relativePath: string; file: File }>>;
1047
+ ```
1048
+
1049
+ ## Returns
1050
+
1051
+ Promise&lt;Array&lt;{ relativePath: string; file: File }&gt;&gt;
1052
+
1053
+ All read files and their path information
1054
+
1055
+ ## Remarks
1056
+
1057
+ developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory \| MDN<!-- -->} ADD since EDA v4.2
1058
+
1059
+ ### openreadfolderpathdialog
1060
+
1061
+ # SYS\_FileSystem.openReadFolderPathDialog() method
1062
+
1063
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1064
+
1065
+ 打开读取目录路径窗口
1066
+
1067
+ ## Signature
1068
+
1069
+ ```typescript
1070
+ function openReadFolderPathDialog(): Promise<string | undefined>;
1071
+ ```
1072
+
1073
+ ## Returns
1074
+
1075
+ Promise&lt;string \| undefined&gt;
1076
+
1077
+ 目录路径
1078
+
1079
+ ## Remarks
1080
+
1081
+ ADD since EDA v3.2.201 注意:本接口仅客户端有效,在浏览器环境内调用将始终 `throw Error`
1082
+
1083
+ / EDA v4.1.54
1084
+
1085
+ ### readfilefromfilesystem
1086
+
1087
+ # SYS\_FileSystem.readFileFromFileSystem() method
1088
+
1089
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1090
+
1091
+ Read a file from the file system
1092
+
1093
+ ## Signature
1094
+
1095
+ ```typescript
1096
+ function readFileFromFileSystem(uri: string): Promise<File | undefined>;
1097
+ ```
1098
+
1099
+ ## Parameters
1100
+
1101
+ <table><thead><tr><th>
1102
+
1103
+ Parameter
1104
+
1105
+ </th><th>
1106
+
1107
+ Type
1108
+
1109
+ </th><th>
1110
+
1111
+ Description
1112
+
1113
+ </th></tr></thead>
1114
+ <tbody><tr><td>
1115
+
1116
+ uri
1117
+
1118
+ </td><td>
1119
+
1120
+ string
1121
+
1122
+ </td><td>
1123
+
1124
+ File resource locator. An absolute path containing the complete file name is required
1125
+
1126
+ </td></tr>
1127
+ </tbody></table>
1128
+
1129
+ ## Returns
1130
+
1131
+ Promise&lt;File \| undefined&gt;
1132
+
1133
+ File format file
1134
+
1135
+ ## Remarks
1136
+
1137
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
1138
+
1139
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
1140
+
1141
+ ### revokeobjecturl
1142
+
1143
+ # SYS\_FileSystem.revokeObjectURL() method
1144
+
1145
+ Revoke the ObjectURL
1146
+
1147
+ ## Signature
1148
+
1149
+ ```typescript
1150
+ function revokeObjectURL(url: string): void;
1151
+ ```
1152
+
1153
+ ## Parameters
1154
+
1155
+ <table><thead><tr><th>
1156
+
1157
+ Parameter
1158
+
1159
+ </th><th>
1160
+
1161
+ Type
1162
+
1163
+ </th><th>
1164
+
1165
+ Description
1166
+
1167
+ </th></tr></thead>
1168
+ <tbody><tr><td>
1169
+
1170
+ url
1171
+
1172
+ </td><td>
1173
+
1174
+ string
1175
+
1176
+ </td><td>
1177
+
1178
+ ObjectURL string
1179
+
1180
+ </td></tr>
1181
+ </tbody></table>
1182
+
1183
+ ## Returns
1184
+
1185
+ void
1186
+
1187
+ ## Remarks
1188
+
1189
+ Revoke the specified ObjectURL ADD since EDA v3.2.162
1190
+
1191
+ ## Example
1192
+
1193
+ ```javascript
1194
+ // 1. 先创建一个 ObjectURL
1195
+ const blob = new Blob(['嘉立创示例数据']);
1196
+ const url = eda.sys_FileSystem.createObjectURL(blob);
1197
+ console.log('创建的 ObjectURL:', url);
1198
+
1199
+ // 2. 用完后吊销(同步方法,无返回值)
1200
+ eda.sys_FileSystem.revokeObjectURL(url);
1201
+ console.log('已吊销');
1202
+ ```
1203
+
1204
+ ### savefile
1205
+
1206
+ # SYS\_FileSystem.saveFile() method
1207
+
1208
+ Save File
1209
+
1210
+ ## Signature
1211
+
1212
+ ```typescript
1213
+ function saveFile(fileData: File | Blob, fileName?: string): Promise<void>;
1214
+ ```
1215
+
1216
+ ## Parameters
1217
+
1218
+ <table><thead><tr><th>
1219
+
1220
+ Parameter
1221
+
1222
+ </th><th>
1223
+
1224
+ Type
1225
+
1226
+ </th><th>
1227
+
1228
+ Description
1229
+
1230
+ </th></tr></thead>
1231
+ <tbody><tr><td>
1232
+
1233
+ fileData
1234
+
1235
+ </td><td>
1236
+
1237
+ File \| Blob
1238
+
1239
+ </td><td>
1240
+
1241
+ File data
1242
+
1243
+ </td></tr>
1244
+ <tr><td>
1245
+
1246
+ fileName
1247
+
1248
+ </td><td>
1249
+
1250
+ string
1251
+
1252
+ </td><td>
1253
+
1254
+ _(Optional)_ File name
1255
+
1256
+ </td></tr>
1257
+ </tbody></table>
1258
+
1259
+ ## Returns
1260
+
1261
+ Promise&lt;void&gt;
1262
+
1263
+ ## Remarks
1264
+
1265
+ Calls the browser download API or the Electron save-file API to save the passed-in file stream locally
1266
+
1267
+ ## Example
1268
+
1269
+ ```javascript
1270
+ // 1. 构造要保存的 CSV 内容
1271
+ const content = '编号,器件,数量\n1,C0402,10\n2,C0603,20';
1272
+ const blob = new Blob([content], { type: 'text/csv' });
1273
+
1274
+ // 2. 保存到本地(完成后 Promise 才结束)
1275
+ await eda.sys_FileSystem.saveFile(blob, '嘉立创示例_BOM导出.csv');
1276
+
1277
+ console.log('已保存文件:', '嘉立创示例_BOM导出.csv', blob.size, '字节');
1278
+ ```
1279
+
1280
+ ### savefiletofilesystem
1281
+
1282
+ # SYS\_FileSystem.saveFileToFileSystem() method
1283
+
1284
+ > This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
1285
+
1286
+ Write a file to the file system
1287
+
1288
+ ## Signature
1289
+
1290
+ ```typescript
1291
+ function saveFileToFileSystem(
1292
+ uri: string,
1293
+ fileData: File | Blob,
1294
+ fileName?: string,
1295
+ ): Promise<boolean>;
1296
+ ```
1297
+
1298
+ ## Parameters
1299
+
1300
+ <table><thead><tr><th>
1301
+
1302
+ Parameter
1303
+
1304
+ </th><th>
1305
+
1306
+ Type
1307
+
1308
+ </th><th>
1309
+
1310
+ Description
1311
+
1312
+ </th></tr></thead>
1313
+ <tbody><tr><td>
1314
+
1315
+ uri
1316
+
1317
+ </td><td>
1318
+
1319
+ string
1320
+
1321
+ </td><td>
1322
+
1323
+ File resource locator. If it ends with a slash `/` (a backslash `\` on Windows), it is recognized as a folder; if it does not end with a slash, it is recognized as a complete file name, in which case the `fileName` parameter is ignored
1324
+
1325
+ </td></tr>
1326
+ <tr><td>
1327
+
1328
+ fileData
1329
+
1330
+ </td><td>
1331
+
1332
+ File \| Blob
1333
+
1334
+ </td><td>
1335
+
1336
+ File data
1337
+
1338
+ </td></tr>
1339
+ <tr><td>
1340
+
1341
+ fileName
1342
+
1343
+ </td><td>
1344
+
1345
+ string
1346
+
1347
+ </td><td>
1348
+
1349
+ _(Optional)_ File name
1350
+
1351
+ </td></tr>
1352
+ </tbody></table>
1353
+
1354
+ ## Returns
1355
+
1356
+ Promise&lt;boolean&gt;
1357
+
1358
+ Whether the write operation was successful. If overwriting is not allowed but the file already exists, `false` is returned
1359
+
1360
+ ## Remarks
1361
+
1362
+ Note 1: This API is only valid for clients. Calling it in a browser environment will always `throw Error`
1363
+
1364
+ Note 2: This API requires the user to enable the extension external interaction permission, if not enabled, it will always `throw Error`
1365
+
1366
+ 注意 3:CLI 本地文件写入\*\*不做路径白名单校验\*\*、不受 `APP_PROJECT_DIR` 限制;`uri` 结尾带斜杠 `/`<!-- -->(Windows 为反斜杠 `\`<!-- -->)识别为目录,`force` 控制是否覆盖已存在文件