Giter VIP home page Giter VIP logo

microsoft / vscode-jupyter Goto Github PK

View Code? Open in Web Editor NEW
1.3K 42.0 277.0 173.09 MB

VS Code Jupyter extension

Home Page: https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter

License: MIT License

Dockerfile 0.10% Shell 0.98% JavaScript 1.29% Python 21.90% Jupyter Notebook 6.35% TypeScript 68.30% CSS 0.50% HTML 0.45% Less 0.13% Batchfile 0.01% Roff 0.01%
jupyter vscode vscode-extension datascience machine-learning

vscode-jupyter's Issues

Double cells being output

Open folder
Add python file
Add cells
Run cells
Close folder
Reopen
Run cells

Double cells end up being output

Data Explorer / Variables Pane

Are there plans to support a data explorer, or variables view where one would execute a command and have the ability to explore the variable or at least get some informations about the variable (type, min, max...etc). Similar to how Rstudio/Pycharm has.
if theres a manual solution like custom tree views via extension API i will be happy to try it.

Data science features do not correctly pick up the Conda scripts path

Environment data

  • VS Code version: Development
  • Extension version (available under the Extensions sidebar): Development
  • OS and version: Windows 10
  • Python version (& distribution if applicable, e.g. Anaconda): Anaconda
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
  • Relevant/affected Python packages and their versions:

Actual behavior

If VSCode is not launched from an Anaconda prompt with the Scripts directory in the path then it will fail to start jupyter server.

Expected behavior

We should be able to start Jupyter server without starting code from an Anaconda command prompt.

Steps to reproduce:

  1. Start VSCode from the taskbar or plain prompt
  2. Attempt to run a code cell in jupyter
  3. Jupyter not installed message pops up.

Logs

Output for Python in the Output panel (Viewโ†’Output, change the drop-down the upper-right of the Output panel to Python)

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help)

DSBugBash: Support magic commands

Actual behavior

Magic commands are not valid python commands, hence magic commands in the python file end up with red squigglys (marked as invalid syntax from Language Server).

Expected behavior

Add support for magic commands without noise in problems panel

Python Interactive window does not use the python associated with the current file when starting

Currently we aren't passing the resource: Uri value into most methods.
This would result in various parts of the extension not working correctly in a multi-root environment (current code will pick settings from first available workspace folder).

Examples:

This only applies to multi-root environments.

Python Interactive colorization misses stuff

We're using prismjs to do colorization. This isn't as robust as textmate

Case in point,

On the left textmate is identifying import as keyword.control. On the right prism doesn't even have that in its grammar.

The solution would probably be:
Use https://www.npmjs.com/package/vscode-textmate to tokenize the source before we send it to react
Use our current solution to load the json files with the colors and turn them into a css
Expand this css to have colors for every token
Change the react code to turn the code into tokenized html.

Alternatively might use this:
https://www.npmjs.com/package/@uiw/react-codemirror

Then just give it the appropriate css files. That's what Jupyter uses.

enabling ctrl+enter to execute current line in .py script and moving cursor to next line

Environment data

VS Code version: 1.19.1
Python Extension version: 0.9.1
Python Version: 3.6.2 anaconda
OS and version: win10 version 1709 (build 17025.1000)

Actual behavior

ctrl+enter does nothing

Expected behavior

ctrl+enter executes "Run Selection/Line in Python Terminal" [ / python.execSelectionInTerminal ] context menu option and indexes cursor in editor to next line, i.e. like behavior with vscode R extension environment and with vs17 ide python script support.

Steps to reproduce:

  • open .py file in vscode
  • place cursor on a line of script
  • enter "ctrl+enter"

Logs

Output from Python output panel

Output from Console window (Help->Developer Tools menu)

DSBugBash: Handling non existence of Jupyter

Actual behavior

When running a cell in python:

  • Interactive window opens up
  • Error message display about Jupyter not being installed

Expected behavior

  • Do not display interactive window
  • Display a better message with:
    • Descriptive error message
    • Ability to get more information (someone starting with VSC+Jupyter wouldn't know what to do - propbably a link to a page)

We'd probably want to capture telemetry on how many people tried this and didn't have Jupyter installed (so we can improve the getting started experience).

Tolerance of ipython cell magics in source code cells

Environment data

  • VS Code version: 1.27.1
  • Extension version: 2018.8.0
  • OS and version: macOS 10.14
  • Python version: Anaconda Python 3.6
  • Type of virtual environment used: conda
  • Relevant/affected Python packages and their versions: N/A

Actual behavior

When using a python file as a makeshift Jupyter notebook (with use of the VSCode Jupyter extension), valid ipython kernel code is flagged as invalid by the Python parser. For instance, cell magics, which begin with one or two percent signs, are flagged as syntax errors

Expected behavior

The parser should ignore valid ipython cell magic syntax; flagging these as problems just adds noise. A good solution might be to have the Python extension have its own internal Jupyter flag, which when enabled would understand that ipython cell magics are syntactically correct, but when disabled would treat the file as vanilla Python for the purpose of checking syntax.

Steps to reproduce:

Write e.g., %matplotlib inline at the top of the file.

DSBugBash: Keyboard focus issues can cause problems

Actual behavior

Using keyboard to selecting the command Import Jupyter Notebook was displaying a Save Dialog.

Steps to reproduce:

  • On the Interactive Window click the Save icon
  • Using keyboard hit the esc key
  • Using keyboard open the command palette and select Import Jupyter Notebook
  • Hit the Enter key on keyboard
  • You now get the Save Dialog

Cause - Save icon in Interactive Window still has focus.

DSBugBash: Support for Code Cell Titles

Create a cell as follows:

#%% Wow
import sys
print(sys.executable)

I would expect the cell in the interative window to have a title of Wow.
Right now it displays the cell with the comments.

Currently we have the text #%% ... being displayed in the interactive window, only when there's text after #%%.
screen shot 2018-11-02 at 10 14 04 am

DSBugBash: UX updates in the "Python interactive" window top bar

  1. The height of the bar should match other VS Code tool windows (e.g. Output window)
  2. The space b/w the icons should also match other VS Code windows
  3. The icon colors need to be consistent (i'll check with Cherry)
  4. Don't change the icon color on mouse hover.
  5. Order of the icons (from left to right): Expand all, Collapse all, Restart kernel, SaveAs, Redo, Undo, Clear
  6. Tooltip for each icon:
    -- Expand all: Expand all cells
    -- Collapse all: Hide input on all cells
    -- Restart kernel: Restart Jupyter kernel
    -- SaveAs: Save the results into a Jupyter Notebook file
    -- Redo: Redo the last operation
    -- Undo: Undo the last operation
    -- Clear: Clear all the content

DSBugBash: Empty section in VSC after reloading

  • Run cell and wait for Interactive Widow to appear
  • Reload VSC
  • We now have an empty section where Interactive Window appeared

We should either not take up this space or display the Interactive Window with previous sessions results or other.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.