Default view column set to ViewColumn.Beside which I think is a better guess than ViewColumn.One.
When the view state of the webview panel changes we save the current view column in extension context storage. This is read and used when opening the panel.
This makes it so that when you move the Portal view somewhere, it will be opened there next time. The Calva Output/REPL window behaves like this and people seem happy with it. =)
Fixes #160
NB: With this PR I also have added some hot reload infra structure for registering and deregistering disposables, so that we don't need to restart the extension host to add or remove commands, event handlers and other disposables. This is what I do in my extensions, and I thought I would add the event for saving the view column as a global disposable. But then it turned out that it was an event attached to the WebView panel instance... Let me know if you want to have a cleaner PR without this change.
ViewColumn.Beside
which I think is a better guess thanViewColumn.One
.This makes it so that when you move the Portal view somewhere, it will be opened there next time. The Calva Output/REPL window behaves like this and people seem happy with it. =)
Fixes #160
NB: With this PR I also have added some hot reload infra structure for registering and deregistering disposables, so that we don't need to restart the extension host to add or remove commands, event handlers and other disposables. This is what I do in my extensions, and I thought I would add the event for saving the view column as a global disposable. But then it turned out that it was an event attached to the WebView panel instance... Let me know if you want to have a cleaner PR without this change.