Look at this page, it may help you in understanding how to configure it.

If you need to store classes and mac routines separately, you can use

{
  "objectscript.export": {
    "addCategory": true
  }
}

In the case of different behavior for different types, and place only mac routines to the specific folder, use this.

{ 
  "obejctscript.export": {
    "addCategory": false,
    "folder": {
      "mac": "mac"
    }
  }
}

Yeah, It's a bit tricky. All the code in Caché really stored directly in the database. But with VSCode, code can be stored locally as files, for easy access and the ability to use source control such as git. After any save of the file related to Caché, e.g. Classes or routines, it will be sent to the server and compiled there.

Having a separate development server, and a production server are for sure is best practice, for sure. With no permission to edit code directly on production. And with having DevOps, will be possible to build a production version and easily deploy it, by some actions or events.