paulo-fernando-silva / vscOctaveDebugger

MIT License
35 stars 4 forks source link

Support multiple sourceFolders? #28

Closed apjanke closed 4 years ago

apjanke commented 4 years ago

Some larger Octave projects have their code split out into multiple directories. At least having one main source directory and a separate examples/test/scratch directory doesn't seem uncommon. Would you consider adding support for passing an array of multiple directories to the sourceFolder option in the debug configuration?

paulo-fernando-silva commented 4 years ago

Sure can add that. Currently one can do the same if the project has a common root directory. For example:

project0
    dir0
        file0.m
    dir1
        file1.m

If you set sourceFolder: project0 all sources under project0 will be visible. Plus, you can always set the workingDirectory to one of those dirX if it's useful.

But I imagine that what you mean is something like a project with sources all over the hard drive, or in multiple hard drives, where no convenient common root is available, right?

I'll add it this weekend or so.

apjanke commented 4 years ago

But I imagine that what you mean is something like a project with sources all over the hard drive, or in multiple hard drives, where no convenient common root is available, right?

Exactly. Stuff in multiple repos in my user directory, maybe stuff in /usr/local/lib, maybe stuff on a network drive.

I'll add it this weekend or so.

Thank you!

paulo-fernando-silva commented 4 years ago

Just added a fix that allows using sourceFolder for this. It was actually supported by Octave, but I had a test that checked if users were passing a valid directory. In practice Octave supports directories separated by :, so I kept that format and updated the documentation. It's not the best name, but don't wanna break peoples configurations. To use it just add "sourceFolder": "dir0:dir1:etc" The : can be changed via setting a different value in Octave, though I don't support it right now, i.e. even if you do it only happens after these default directories are added. The user can still do it afterwards, and add the paths that require it after the program is started. Maybe I should change this... If people request it.

paulo-fernando-silva commented 4 years ago

I believe this issue is solved, so I'll be closing it for now. Please reopen in case it doesn't work for you.

apjanke commented 4 years ago

Yep, works for me. Thanks!