This is explorer view, supposed to be only to view the source of code on the server and read-only. There are two ways

  • Preferable, store any code locally, and when you save it, it will upload to server and compile it there. If you already have some of your code on server, you can export it from the explorer view.
  • Use virtual filesystem named isfs, in this case, all of your code stored only on server. Documentation

You can find some useful videos on youtube on Developer Community channel, for instance

As Kai, already mentioned, this icon, will appear only if you have any folder opened. Such a folder is a kind of project in VSCode. And, while Server Explorer view, which can be opened available by this icon, is supposed to be as just a server explorer, without editing. So, there are no reasons to make it available until any project will be opened.

First of all, you have to open this .code-workspace file with VSCode, it should offer to do it if you did not. Next, path is relevant to .code-workspace file location, and should contain own .vscode/settings.json. If all conditions are met, but behaviour not expected, please fill the issue, with examples, and screenshots, I'll try to reproduce and find the solution.

Look at the project mentioned earlier.
This part

{
  "folders": [
    {
      "name": "main",
      "path": "."
    },
    {
      "name": "part1",
      "path": "part1"
    },{
      "name": "part2",
      "path": "part2"
    }
  ]
}

Mentions three folders, where part1 and part2 supposed to be used to connect to two different servers. And each folder, have own .vscode/settings.json, which contains own settings to the server.

VSCode-ObjectScript extension which I suppose you already use, support the way, to work at the same time with multiple connections. And Mathew, gives you an example how to configure it. Look at the project. Important file there is multi.code-workspace, it's a kind of project file for VSCode, where is defined two folders, and each of those folders has its own separate settings for InterSystems. So, it means each folder will have its own connection to its own server. And you can configure as many connections as you would like. With the next release, I think it will be available one more way how to achieve the same.

First of all, I have to investigate it by myself, so, I would have something specific to ask through WRC. At the moment, the issue I see now only on cached quires. We build our application, as separate database files with only deployed code, which we deliver to customers. And we run our tests, in the way as it works on the customer's side. The same deployed code, and for sure without cached queries.

I've already found this qualifier, and it actually does not make any difference for us.  Cached query-classes, go to %sqlcq package, where it's mapped, definitely not with our code, and it also contains namespace, which will be different on the customer's side. Another solution would be to just rebuild all cached query, in the application. How it would be possible to do? As I said earlier, we test our queries for performance regressions, and not only queries, everything, and as we don't have any cache at all when we start our tests, our tests now became useless. How we can trust test's results, while the part of performance regression is just a compilation for SQL queries?

So, we have to somehow warm our application.

Writing own class queries just restore changes things, which was ok on the previous  versions not an option at all even we would have much less such queries. As We don’t going to use sharping we would better to deliver our application as we did it for Caché.

We need one place where we could change the way.

We also use UnitTests, and as part of our tests we test for performance regression, and now we get some tests failed due to significant performance regression. So now we have to spend time on investigation why it’s happening. I should expect better performance when I migrate between versions, but our automatic tests doesn’t show it.