Deploy from VS Code (or any external editor)

It would be nice if you could leave NSB running and have a command to (ignore its code cache and rebuild from the file system to capture all edits made externally) rebuild fresh and then deploy.

I’m not sure what you mean here - can you explain a bit more?

As you explained here: https://discuss.appstudio.dev/t/edit-and-run-in-visual-studio/3630/2

NSB will ignore any changes made outside of the IDE – you have to quit NSB and relaunch for the changes to be recognized.

With the goal of shortening the edit/deploy/test/edit cycle, I want to remove the time to relaunch NSB each time external changes are made.

This is tricky to do. The edits you make to code are kept in AppStudio until you force a save. This is useful for coding - you might make some changes you think better of, then choose not to save them.

The problem is when the external app makes changes to the same module. Should AppStudio throw out the changes you have made in AppStudio to load the external changes?

Yes, when I select the new command, like “build from scratch” or “import external changes and deploy”, all IDE changes would be discarded. Or you could have NSB in “sleep mode” with no editor showing.

If it were me… I’d design it like other coding environments: the build process would be done by an .exe, controlled by a command line. The NSB IDE would simply run the .exe when the deploy command is selected, instead of having the build process hardwired into the editor. And if using an external editor (e.g. VS Code), that editor could easily call the .exe command line.

Now with our multi-core CPUs, cached memory, and SSD drives, I wonder… does NSB’s code caching between builds really yield that much benefit? I admit, there is still a requirement to use the forms editor in the IDE, which has some interdependencies that would have to be dealt with (or disabled during sleep mode). Maybe it’s as simple as having an option to disable code caching. Hmmm.

I think you would agree the I in IDE refers to the user experience, not the environment’s architecture.

I hope you’re not offended by this, George. I love NSBasic. Like my brother-in-law Mr. Tony, I used NSB in the way-back time of NSB CE, AND (wait for it) The Apple Newton!

Anyway, the lack of intelisense is killing me. I’m just looking for any help or tips from you and the community to get more efficient. Yes, I could get better at lint, but I dream of seeing a red squiggly line under “If”. (Notice the capital I. … because too often I don’t. And I wish the editor did.)

As always, thanks for listening.