Esri / arcgis-js-vscode-snippets

Collection of Visual Studio Code snippets for common code patterns in the ArcGIS Maps SDK for JavaScript.
https://marketplace.visualstudio.com/items?itemName=Esri.arcgis-maps-sdk-js-snippets
Apache License 2.0
25 stars 8 forks source link

Add snippets for all Symbol classes #33

Open hhkaos opened 11 months ago

hhkaos commented 11 months ago

Today the extension contain just a few snippets

Snippet Description
simpleMarkerSymbol Creates a SimpleMarkerSymbol in a MapView. Contains placeholder for style.
pictureMarkerSymbol Creates a PictureMarkerSymbol in a MapView.
simpleLineSymbol Creates a SimpleLineSymbol in a MapView. Contains placeholder for style, cap and join.
simpleFillSymbol Creates a SimpleFillSymbol in a MapView. Contains placeholder for style.
pictureFillSymbol Creates a PictureFillSymbol in a MapView.

But this is just a small subset of all the Symbols.

It would be nice to have snippets for the following classes: (just the ones with the checkboxes; 21 in total)

Instead of just the properties:

{
  type: "simple-marker",
  color: [255, 255, 255, 0.25],
  size: 12,
  style: "circle",
  outline: {
    width: 1,
    color: [255, 255, 255, 1]
  }
}

/* Snippet
 "SimpleMarkerSymbol": {
    "body": [
      "{",
      "\ttype: \"simple-marker\",",
      "\tcolor: [255, 255, 255, 0.25],",
      "\tsize: 12,",
      "\tstyle: \"${1|circle,square,cross,x,diamond,triangle,path|}\",",
      "\toutline: {",
      "\t\twidth: 1,",
      "\t\tcolor: [255, 255, 255, 1]",
      "\t}",
      "}"
    ],
    "description": "Create a SimpleMarkerSymbol",
    "prefix": "simpleMarkerSymbol"
  }
*/

I would suggest something like:

new SimpleMarkerSymbol({
  type: "simple-marker", // required only when autocasting
  color: [255, 255, 255, 0.25],
  size: 12,
  style: "circle",
  outline: {
    width: 1,
    color: [255, 255, 255, 1]
  }
})

/* Snippet
"": {
"prefix": "",
"body": [
    "new SimpleMarkerSymbol({",
    "\ttype: \"simple-marker\", // required only when autocasting",
    "\tcolor: [255, 255, 255, 0.25],",
    "\tsize: 12,",
    "\tstyle: \"${1|circle,square,cross,x,diamond,triangle,path|}\",",
    "\toutline: {",
    "\t\twidth: 1,",
    "\t\tcolor: [255, 255, 255, 1]",
    "\t}",
    "})",
],
"description": ""
}
*/

Note: I think these are all symbols. Checking the symbol builder gallery I think I haven't left anything out... 😅

Does it make sense @kellyhutchins ? // cc: @RalucaNicola

kellyhutchins commented 11 months ago

Yes 100% it would be fantastic to have snippets for all of the symbol classes