Sounds like you are using the client-side editing paradigm. As Dmitry says, unless you haven't installed Language Server it will be LS that initially handles your "Go to Definition" request. But I think LS then calls an API entrypoint named serverDocumentUriForUri in the main ObjectScript extension (OS) to find out where the target document should be fetched from. As the API name indicates, this returns a uri (a document reference) that always fetches code from the server. And since you are using the client-side editing paradigm the fetched code cannot be edited.

Please open an issue on the repo at https://github.com/intersystems-community/vscode-objectscript/issues where it can be tracked and managed better than in this DC post.

If the BE guys are currently all working on the same copy of the codebase in a shared namespace on the production server, I think it will be an easier transition if they adopt server-centric source control such as Deltanji from my employer George James Software. They could start off by putting the production namespace under source control, then evolve to an architecture where development happens in a different shared namespace (could be on the same server, or on a different server), or separate namespaces for each developer, feeding an integration namespace where testing happens. Deltanji is very flexible and configurable, plus the configuration can be changed as the team's needs change. It integrates with Studio and VS Code editing tools.

Evaluation copies of Deltanji are available, and we're happy to set up PoCs for development organizations who are interested in trying it out for themselves. We can put people in touch with existing users, and some of those users might post a response on this thread too.

John Murray
Senior Product Engineer
George James Software
https://georgejames.com

Is Git a mandatory requirement for you? If not, did you consider our Deltanji product? Your source code gets managed within the environments it executes in, with no need for export/import to files nor for a separate build/deploy toolchain. Deltanji is fully supported on Cache 2018 and Studio, as well as on InterSystems IRIS. It's also well integrated with VS Code.

John Murray
Senior Product Engineer
George James Software
https://georgejames.com

@Rich Taylor wrote:

One thing to keep in mind is that all code that you create or edit in VSCode is stored locally on your development machine

That is not necessarily true. The model of working in which code is stored and source-controlled on an InterSystems server is perfectly valid, fully supported, and suits some teams and organizations better than the model that uses client-side source files and file-based source control tools such as Git.

See here for how this is done when using the InterSystems ObjectScript extension in VS Code.

IIRC the internal applications team at InterSystems works this way.

Our Serenji extension also uses the server-side model.

Glad you like it! We just released 0.9.2, so everyone can try this out by simply updating extensions.

At the same time we released a new version of Server Manager. Now you can define a new connection direct from the server selection quickpick.  Less need to go into the JSON files.

Feedback welcome, here or in the GitHub repos of the two extensions.