The only way I have found this possible is to actually run VSCode itself in docker.
The github issue tracking this feature is here: https://github.com/Microsoft/vscode-python/issues/79
Unfortunately there's no major activity on it as of late... but I usually go take a peak every few months and hope...
Can you elaborate a little more on how you use pycharm with docker-compose and what are the advantages? I am new to all this and I have been using Pycharm quite a lot lately but looking at people’s responses above it feels like I am missing something. Why would you need to connect remotely or where/why does docker fit into this? Isn’t is just an IDE that you install to code/debug?
Sorry in advance if these questions sound a little too primitive.
Thanks.
https://github.com/Microsoft/vscode-python/issues/79#issueco...
[1] https://marketplace.visualstudio.com/items?itemName=liximomo...
[2] https://marketplace.visualstudio.com/items?itemName=Kelvin.v...
https://marketplace.visualstudio.com/items?itemName=Kelvin.v...
Visual Studio still has some perks, but with the dotnet cli it’s actually decent enough to use .net core on a Mac.
What I don’t get is why they aren’t focusing even more on VS Code, I mean, why bother making Visual Studio for mac when you have an all-platform alternative?
The only bad thing about VSCode is that it has made me really, really hate the dark-theme in visual studio because the code one is so much better.
I've heard great things about JetBrains Rider but haven't tried it.
For now I will not move away from Jedi again.
However having all the output be in a dedicated window as this extension does, that allows for scrolling back in the order things were run rather than in the order they are laid out in the notebook is turning out to be better for some use cases. Also, it allows having the output side-by-side which takes better advantage of the horizontal to vertical pixel ratio of monitors.
Another thing I like is that editing cells as plain text using #%% to separate them is just a better more intuitive interface for a programmer than having a bunch of separate text-areas (imho). And it nicely dodges all the padding and unnecessary white-space problems that a Jupyter notebook has compared to a mathematica one, allowing more information to fit on the screen.
For one downside: I haven't ever used an extension that is so inclined to randomly pop up with tips and surveys while I am programming as this one. It's incredibly annoying and I've spent a lot of time trying to figure out how to disable it. Including looking through the code on github, but don't see anyway at all to do it.
It's a catch-22 situation because VS Code doesn't have the option to disable notifications like these, the person in charge of deciding if there should be a feature to prevent popups says that it's an extension issue and to take it up with them. And the extension clearly doesn't have the mindset that it is an issue and frankly I don't think it's an extensions job to re-invent the wheel on this every time so I don't blame them. They are using the tools they have as extension authors because it's clearly not the extensions job to set the style of of notification deliver to the user, only that there is one to present, perhaps with an associated urgency level. The IDE ought to then deliver it in the manner most desired by it's user.
Contrast this with Intellij which works around all of this by simply having a thought out system for notifications, wherein the user, can force them all to go to a log in a panel without a popup, which, for me is great because I'm coding, don't knock me out of the zone!
Sorry about the annoying behavior! Some of this is clearly our fault, and I've asked the team to come by and respond to this. I've also added this to the list of things to chat with the VS Code team about as well.
Disclaimer: I originally came up with the idea for the interactive window based on the design constraints of VS Code, but the team that is currently working on this deserves all the credit for building and extending the original idea.
Other minor stuff like that (none of this is at all urgent):
- Having an option to disable requiring a confirm for kernel restarts.
- Smooth scrolling in the interactive window regardless of the higher setting from vscode / electron that disables smooth scrolling.
- Don't scroll on output in the interactive window unless it's currently scrolled to the bottom (Allows reading things at the top while more results scroll in w/o having to fight the scrollbar)
- A bit better support for jupyter magics / builtins without displaying errors (e.g. things like %%html or %%javascript or !ls or 'display(dataframe)' all show errors)
In terms of why I like the split display:
I think it's more conducive to writing re-usable code than Jupyter and I can re-read things in the order that I ran them. It also keeps the code closer to together so I don't have to jump over a bunch of intermediate results when I go between different area of code.
Thanks for making the interactive window, it's been a real pleasure so far and overall I really powerful, I wish it was in every language!
I really wish that the Jupyter community would consider re-design .ipynb file format, such as separating a source code (cells) as a file and stopping using JSON format.
The current .ipynb file format is highly against modern software engineering. Since it contains everything inside of a single file including giant binaries, it is almost impossible to properly version control, and there is no point of using human-readable JSON format because its content is already not human-readable.
My favorite things about VSCode are the speed (compared to Pycharm), the custom keybindings, and the integrated terminal that I can snap back and forth to with the keybindings.
The main thing that it lacked was the excellent Python refactoring tools that Pycharm free edition has. I should never have to find and replace to refactor when I'm dealing with code all in the same language. edit: Also the auto-imports were terrible in VSCode, while they are also excellent Pycharm.
Still using it for Golang, but I'm back to Pycharm for Python.