package.json 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. {
  2. "name": "wamride",
  3. "publisher": "wamr",
  4. "displayName": "WAMR-IDE",
  5. "description": "An Integrated Development Environment for WASM",
  6. "version": "0.0.1",
  7. "engines": {
  8. "vscode": "^1.59.0"
  9. },
  10. "categories": [
  11. "Other"
  12. ],
  13. "activationEvents": [
  14. "*"
  15. ],
  16. "main": "./out/extension.js",
  17. "contributes": {
  18. "commands": [
  19. {
  20. "command": "wamride.newProject",
  21. "title": "Create new project",
  22. "category": "New project"
  23. },
  24. {
  25. "command": "wamride.changeWorkspace",
  26. "title": "Change workspace",
  27. "category": "Change Workspace"
  28. },
  29. {
  30. "command": "wamride.build",
  31. "title": "WAMRIDE:Build Wasm"
  32. },
  33. {
  34. "command": "wamride.run",
  35. "title": "WAMRIDE:Run Wasm"
  36. },
  37. {
  38. "command": "wamride.debug",
  39. "title": "WAMRIDE:Source Debug"
  40. },
  41. {
  42. "command": "wamride.openFolder",
  43. "title": "WAMRIDE:openWorkspace"
  44. },
  45. {
  46. "command": "wamride.build.toggleStateIncludePath",
  47. "title": "Toggle state of path including"
  48. },
  49. {
  50. "command": "wamride.build.toggleStateExclude",
  51. "title": "Toggle state of excluding"
  52. },
  53. {
  54. "command": "wamride.targetConfig",
  55. "title": "Target Configuration"
  56. }
  57. ],
  58. "viewsContainers": {
  59. "activitybar": [
  60. {
  61. "id": "wamride",
  62. "title": "WAMRIDE",
  63. "icon": "$(star)"
  64. }
  65. ]
  66. },
  67. "views": {
  68. "wamride": [
  69. {
  70. "id": "wamride.views.welcome",
  71. "name": "Quick Access"
  72. }
  73. ]
  74. },
  75. "viewsWelcome": [
  76. {
  77. "view": "wamride.views.welcome",
  78. "contents": "[ Project Management ]\n[$(project)New project](command:wamride.newProject)\n[$(files)Open project](command:wamride.openFolder)\n[$(book)Change workspace](command:wamride.changeWorkspace)\n[$(pencil)Configuration](command:wamride.targetConfig)"
  79. },
  80. {
  81. "view": "wamride.views.welcome",
  82. "contents": "[ Execution Management ]\n[$(gear)Build](command:wamride.build)\n[$(run)Run](command:wamride.run)\n[$(debug-alt) Debug](command:wamride.debug)",
  83. "enablement": "ext.isWasmProject"
  84. }
  85. ],
  86. "menus": {
  87. "explorer/context": [
  88. {
  89. "command": "wamride.build.toggleStateIncludePath",
  90. "alt": "wamride.build.toggleStateIncludePath",
  91. "group": "config",
  92. "when": "explorerResourceIsFolder"
  93. },
  94. {
  95. "command": "wamride.build.toggleStateExclude",
  96. "alt": "wamride.build.toggleStateExclude",
  97. "group": "config",
  98. "when": "!explorerResourceIsFolder && resourceExtname in ext.supportedFileType"
  99. }
  100. ]
  101. },
  102. "debuggers": [
  103. {
  104. "type": "wamr-debug",
  105. "label": "WAMR lldb debugger",
  106. "enableBreakpointsFor": {
  107. "languageIds": [
  108. "ada",
  109. "arm",
  110. "asm",
  111. "c",
  112. "cpp",
  113. "crystal",
  114. "d",
  115. "fortan",
  116. "fortran-modern",
  117. "nim",
  118. "objective-c",
  119. "objectpascal",
  120. "pascal",
  121. "rust",
  122. "swift"
  123. ]
  124. },
  125. "program": "./resource/debug/bin/lldb-vscode",
  126. "windows": {
  127. "program": "./resource/debug/bin/lldb-vscode.exe"
  128. },
  129. "configurationAttributes": {
  130. "attach": {
  131. "properties": {
  132. "sourcePath": {
  133. "type": "string",
  134. "description": "Specify a source path to remap \"./\" to allow full paths to be used when setting breakpoints in binaries that have relative source paths."
  135. },
  136. "sourceMap": {
  137. "type": "array",
  138. "description": "Specify an array of path remappings; each element must itself be a two element array containing a source and destination pathname. Overrides sourcePath.",
  139. "default": []
  140. },
  141. "debuggerRoot": {
  142. "type": "string",
  143. "description": "Specify a working directory to set the debug adaptor to so relative object files can be located."
  144. },
  145. "attachCommands": {
  146. "type": "array",
  147. "description": "Custom commands that are executed instead of attaching to a process ID or to a process by name. These commands may optionally create a new target and must perform an attach. A valid process must exist after these commands complete or the \"attach\" will fail.",
  148. "default": []
  149. },
  150. "initCommands": {
  151. "type": "array",
  152. "description": "Initialization commands executed upon debugger startup.",
  153. "default": []
  154. },
  155. "preRunCommands": {
  156. "type": "array",
  157. "description": "Commands executed just before the program is attached to.",
  158. "default": []
  159. },
  160. "stopCommands": {
  161. "type": "array",
  162. "description": "Commands executed each time the program stops.",
  163. "default": []
  164. },
  165. "exitCommands": {
  166. "type": "array",
  167. "description": "Commands executed at the end of debugging session.",
  168. "default": []
  169. }
  170. }
  171. }
  172. },
  173. "initialConfigurations": [
  174. {
  175. "type": "wamr-debug",
  176. "request": "attach",
  177. "name": "Debug",
  178. "stopOnEntry": true,
  179. "attachCommands": [
  180. "process connect -p wasm connect://127.0.0.1:1234"
  181. ]
  182. }
  183. ],
  184. "configurationSnippets": [
  185. {
  186. "label": "WAMR: Attach",
  187. "description": "",
  188. "body": {
  189. "type": "wamr-debug",
  190. "request": "attach",
  191. "name": "${2:Attach}",
  192. "stopOnEntry": true,
  193. "attachCommands": [
  194. "process connect -p wasm connect://${3:127.0.0.1}:${4:1234}"
  195. ]
  196. }
  197. }
  198. ]
  199. }
  200. ],
  201. "configuration": [
  202. {
  203. "title": "WAMR-IDE",
  204. "properties": {
  205. "WAMR-IDE.configWorkspace": {
  206. "type": "string",
  207. "description": "Config the workspace for WebAssembly project."
  208. }
  209. }
  210. }
  211. ]
  212. },
  213. "scripts": {
  214. "vscode:prepublish": "npm run compile",
  215. "compile": "tsc -p ./",
  216. "watch": "tsc -watch -p ./",
  217. "pretest": "npm run compile && npm run lint",
  218. "lint": "eslint src --ext ts",
  219. "test": "node ./out/test/runTest.js"
  220. },
  221. "devDependencies": {
  222. "@types/glob": "^7.1.3",
  223. "@types/mocha": "^8.2.2",
  224. "@types/node": "14.x",
  225. "@types/vscode": "^1.54.0",
  226. "@typescript-eslint/eslint-plugin": "^4.26.0",
  227. "@typescript-eslint/parser": "^4.26.0",
  228. "eslint": "^7.32.0",
  229. "glob": "^7.1.7",
  230. "mocha": "^8.4.0",
  231. "prettier": "2.5.1",
  232. "typescript": "^4.3.2",
  233. "vscode-test": "^1.5.2"
  234. },
  235. "dependencies": {
  236. "@vscode/webview-ui-toolkit": "^0.8.4"
  237. }
  238. }