Hello!
I have a VS Code workspace with several projects (folders) in it. Mainly Fortran code with some C code here and there.
VMS-IDE intellisense is working great when I use "Go to Definition"/"Peek definition" on a subroutine being called/a structure being used, as long as the subroutine/structure is defined in the very same file. But when subroutine/structure definition is in another file (in the same folder or another project folder) intellisense won't find the definition of such subroutine/structure.
¿Is this VMS-IDE intellisense feature not implemented yet, or might it be due to some error I made in configuring VMS-IDE or the workspace itself?
Thanks to anyone who can provide any feedback!
Workspace with multiple folders and intellisense
Re: Workspace with multiple folders and intellisense
Hey mcloud123,
I am interested in the language server implementation as well - it's the previous thread - viewtopic.php?f=29&t=8912. In that thread i also have issues navigating symbols and wondered if i explicitly had to issue the command "reparse basic Project". I can't give you solid answers, but we might be able to muddle through it together if you're willing/able to understand some of the vms-ide source.
Bear with me....
https://code.visualstudio.com/api/langu ... s/overview - a great overview of vs code language extensions. Importantly it calls our declaritive and programmatic language features - jump to definition is in the latter.
So, i think you're after these features
https://code.visualstudio.com/api/refer ... onProvider
https://code.visualstudio.com/api/langu ... -in-folder
As a quick aside, to cement the difference in language features, and to know what your NOT looking for here is some of the vms-ide language server implementation - you can see it certainly has the declaritive features implemented - text mate grammars etc (i am interested in basic, already had those links so have used those)
https://github.com/vmssoftware/vms-ide/ ... ation.json
https://github.com/vmssoftware/vms-ide/ ... guage.json
So, here is your registerDefinitionProvider for Fortran
https://github.com/vmssoftware/vms-ide/ ... ider.ts#L4
So, i now have three questions. Firstly does vms-ide implement a full language server extension, as - i can find the above defintion provider, but i can't find some of the other configuration that is suggested it should go with the above definition provider. See https://code.visualstudio.com/api/langu ... e-features and the section where it says
"In the response to the initialize method, your language server needs to announce that it provides goto-definition locations."
Now that i've found it again, it seems that config is related to a language server. So, my guess is that it this doesn't implement a full language server, rather provides this functionality inside the in process extensions
Secondly, does it handle multiple documents, or folders or multi-root workspaces . Vs code calls out "When the user opens a multi-root workspace, you might need to adapt your Language Server extensions accordingly. This topic discusses multiple approaches to supporting multi-root workspaces" - see https://code.visualstudio.com/api/langu ... ce-support
https://github.com/microsoft/vscode/wik ... space-APIs
So, the final question is, Is a language server necessary to do multi document, multi-folder definition navigation ?
Now the vms-ide videos, lead you down the path of multiple folders, one folder = one project, and hence down the multi-root workspace path, so you would think this has been accounted for - but as a dev myself, with only so many hours in the day, and my impression that VSI might be spread pretty thin - maybe not
I am interested in the language server implementation as well - it's the previous thread - viewtopic.php?f=29&t=8912. In that thread i also have issues navigating symbols and wondered if i explicitly had to issue the command "reparse basic Project". I can't give you solid answers, but we might be able to muddle through it together if you're willing/able to understand some of the vms-ide source.
Bear with me....
https://code.visualstudio.com/api/langu ... s/overview - a great overview of vs code language extensions. Importantly it calls our declaritive and programmatic language features - jump to definition is in the latter.
So, i think you're after these features
https://code.visualstudio.com/api/refer ... onProvider
https://code.visualstudio.com/api/langu ... -in-folder
As a quick aside, to cement the difference in language features, and to know what your NOT looking for here is some of the vms-ide language server implementation - you can see it certainly has the declaritive features implemented - text mate grammars etc (i am interested in basic, already had those links so have used those)
https://github.com/vmssoftware/vms-ide/ ... ation.json
https://github.com/vmssoftware/vms-ide/ ... guage.json
So, here is your registerDefinitionProvider for Fortran
https://github.com/vmssoftware/vms-ide/ ... ider.ts#L4
So, i now have three questions. Firstly does vms-ide implement a full language server extension, as - i can find the above defintion provider, but i can't find some of the other configuration that is suggested it should go with the above definition provider. See https://code.visualstudio.com/api/langu ... e-features and the section where it says
"In the response to the initialize method, your language server needs to announce that it provides goto-definition locations."
Now that i've found it again, it seems that config is related to a language server. So, my guess is that it this doesn't implement a full language server, rather provides this functionality inside the in process extensions
Secondly, does it handle multiple documents, or folders or multi-root workspaces . Vs code calls out "When the user opens a multi-root workspace, you might need to adapt your Language Server extensions accordingly. This topic discusses multiple approaches to supporting multi-root workspaces" - see https://code.visualstudio.com/api/langu ... ce-support
https://github.com/microsoft/vscode/wik ... space-APIs
So, the final question is, Is a language server necessary to do multi document, multi-folder definition navigation ?
Now the vms-ide videos, lead you down the path of multiple folders, one folder = one project, and hence down the multi-root workspace path, so you would think this has been accounted for - but as a dev myself, with only so many hours in the day, and my impression that VSI might be spread pretty thin - maybe not
Last edited by alister on Fri Dec 08, 2023 7:43 pm, edited 1 time in total.