Giter VIP home page Giter VIP logo

vscode-jupyter-keymap's Introduction

Jupyter Keymaps Extension for Visual Studio Code

This extension provides keymaps for notebooks in Visual Studio Code to match the keybindings in Jupyter Notebook. This extension comes with the Jupyter extension for Visual Studio Code and can be disabled or uninstalled.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

vscode-jupyter-keymap's People

Contributors

amunger avatar joyceerhl avatar lramos15 avatar lszomoru avatar microsoft-github-operations[bot] avatar microsoftopensource avatar rebornix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-jupyter-keymap's Issues

Undo cell-operation?

Doesn't seem like there's a way to undo a cell-level operation (like deleting a cell) -- e.g. z, z doesn't undo like in Jupyter lab?

Jupyter Keymap prevents XML formatting

VS Code is not formatting XML for me. I've searched the web and enabled/disabled extensions until I've identified that Jupyter Keymap is conflicting with it.

If redhat.vscode-xml is loaded first, I can't format XML. if redhat.vscode-xml is loaded after ms-toolsai.jupyter-keymap then I can format XML (with all extensions enabled). I don't know if loading them in this order prevents any features of ms-toolsai.jupyter-keymap.

redhat-developer/vscode-xml#154

Nono

ADD ISSUE DESCRIPTION HERE

Version: 1.66.2
Commit: dfd34e8260c270da74b5c2d86d61aee4b6d56977
User Agent: Mozilla/5.0 (Linux; Android 12; SM-G991B Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36
Embedder: unknown

Extension version: 1.0.0

Juypter Notebook and ipywidgets

Issue Type: Bug

Randomly occurs.

while typing into a textbox or within a textarea, the output looses focus and gets focus of the cell where the code was generated from, and keys are being executed against the code cell (not within it), and in this case when I'm hitting the delete key, it's removing the code cell.

`
import ipywidgets as widgets
from ipywidgets import Layout
from IPython.display import display

output = widgets.Output()

txtProcess = widgets.Text(
value='',
placeholder='Short Description of Process',
description='Process Name:',
disabled=False,
layout=textboxLayout
)

txtPKColumns = widgets.Textarea(
value='',
placeholder='Primary Key Columns, semicolon seperated list',
description='PK Columns:',
disabled=False,
layout=textareaLayout
)

display(txtProcess, txtPKColumns, output)

`

VS Code version: Code 1.62.3 (ccbaa2d27e38e5afa3e5c21c1c7bef4657064247, 2021-11-17T08:11:14.551Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

Extensions (54)
Extension Author (truncated) Version
vscode-sqlite ale 0.14.0
al-code-outline and 3.0.23
vscode-browser-preview auc 0.7.2
armview ben 0.4.5
unique-lines bib 1.0.0
markdown-preview-github-styles bie 0.2.0
vs-code-bpmn-io bpm 0.12.0
excel-to-markdown-table csh 1.3.0
vscode-markdownlint Dav 0.45.0
vscode-guid hea 1.4.20
al-object-designer mar 0.2.4
rainbow-csv mec 1.10.1
markdown-formatter mer 0.9.6
dotenv mik 1.0.1
azure-pipelines ms- 1.195.0
vscode-azureappservice ms- 0.23.0
vscode-azurefunctions ms- 1.6.0
vscode-azureresourcegroups ms- 0.4.0
vscode-azurestorage ms- 0.12.1
vscode-azurevirtualmachines ms- 0.4.1
vscode-bicep ms- 0.4.1008
vscode-cosmosdb ms- 0.18.1
vscode-docker ms- 1.18.0
csharp ms- 1.23.16
dotnet-interactive-vscode ms- 1.0.2559020
vscode-dotnet-runtime ms- 1.5.0
al ms- 8.2.545335
gather ms- 2021.9.1
python ms- 2021.11.1422169775
vscode-pylance ms- 2021.11.2
jupyter ms- 2021.10.1101450599
jupyter-keymap ms- 1.0.0
jupyter-renderers ms- 1.0.3
remote-containers ms- 0.205.2
remote-ssh ms- 0.66.1
remote-ssh-edit ms- 0.66.1
remote-wsl ms- 0.58.5
vscode-remote-extensionpack ms- 0.21.0
azure-account ms- 0.9.11
azurecli ms- 0.5.0
powershell ms- 2021.10.2
vscode-node-azure-pack ms- 0.2.1
vsliveshare ms- 1.0.5090
vsliveshare-audio ms- 0.1.91
vsliveshare-pack ms- 0.4.0
azurerm-vscode-tools msa 0.15.5
vs-sequential-number nep 1.1.0
prettyxml Pra 1.2.0
vscode-thunder-client ran 1.9.1
vscode-qt-for-python sea 1.1.4
allint Ste 0.2.4
gistfs vsl 0.3.0
crs-al-language-extension wal 1.4.11
markdown-all-in-one yzh 3.4.0

Can you add tagging the repo to the release process?

Hello,
I'm trying to build version 1.1.0 specifically since that's the version compatible with VSCode engine version 1.60.0, but I noticed that releases aren't tagged in the source repo.

Would you be willing to add tagging the repo to future releases?

aSD

Issue Type: Bug

asd

Extension version: 1.0.0
VS Code version: Code 1.68.1 (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-14T12:48:58.283Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

System Info
Item Value
CPUs Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (12 x 2208)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
oop_rasterization: enabled
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_renderer: enabled_on
video_decode: enabled
video_encode: unavailable_off
vulkan: disabled_off
webgl: enabled
webgl2: enabled
Load (avg) undefined
Memory (System) 15.86GB (6.90GB free)
Process Argv --crash-reporter-id bc07a159-76b5-487f-a220-9cad0eaf0199
Screen Reader no
VM 0%
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
pylanb8912cf:30515787
vsclangdf:30486550

Ensure document uses a Jupyter Kernel before executing the command

Hey there ๐Ÿ‘‹

I am working on an extension called Runme and we've created a custom kernel for executing markdown files through the VS Code notebook interface. We use cell outputs to render custom UIs for configuring cells:

Screenshot 2023-09-13 at 15 24 27

Now when a user updates a text field within that cell output input field, e.g. setting a name for a cell, the Jupyter extension picks this key event up and executes the command which in all cases is not the desired behavior, e.g. pressing o would collapse the whole UI.

Would it be possible if the Jupyter extension can check whether actually the notebook is rendered by a Jupyter kernel?

Our current workaround is to suppress all Jupyter keybindings but we would love that users can enjoy both extensions as intended. Let me know what you think.

Tasks

No tasks being tracked yet.

Accidentally triggering shortcuts when selected cell scrolled out of view

Summary

Keyboard shortcuts, such as a to create new cells, get triggered unintentionally when a cell currently being edited is out of view.

I am not sure if this is an intended behavior, but I accidentally end up doing it multiple times a day, and it can get really annoying.

Current behavior

GIF of current behavior:

shortcuts-when-out-of-view

  1. Place text cursor inside a code cell to start editing it
  2. Scroll up or down so that this cell is completely out of view
  3. Typing does not result in editing the selected cell and shortcuts get executed due to bindings to letters such as a

Expected behavior

  1. Typing may or may not result in editing the selected cell, but shortcuts bound to keys such as a should not create new cells

At the very least, shortcuts should not work if a text cursor is inside a cell out of view, as users can easily think they are typing in that cell, but accidentally using keyboard shortcuts and creating random new cells.

Beyond this, I personally believe that editing should itself also be possible in the currently/last selected cell, even if it is out of view, because this is common behavior one would expect in any normal code or text editor. However, this could just be my opinion.

If you think this is an issue that should be addressed, and is not intended functionality, I would love to take up on it!

Incompability with VS Code 1.85.1

Type: Bug

I am not able to install the whole Jupyter package on my Azure remote. I am able to install the package locally, but not on the remote (I connect trough the Azure ML extension). If I install all the sub-packages manually, I am able to install Jupyter Cell Tags, Jupyter Notebook Renderers and Jupyter Slide Show. It will only fail when I try to install Jupyter Keymap.

This is the error message seen in the server log:

2024-01-09 09:20:00.336 [error] Failed to install extension. ms-toolsai.jupyter
2024-01-09 09:20:00.336 [error] Incompatible: Can't install 'ms-toolsai.jupyter' extension because it is not compatible with the current version of Visual Studio Code (version 1.85.1).
    at _.O (/home/azureuser/.vscode-server/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/out/vs/server/node/server.main.js:159:32860)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/azureuser/.vscode-server/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/out/vs/server/node/server.main.js:159:23168
    at async Promise.allSettled (index 0)
    at async _.installGalleryExtensions (/home/azureuser/.vscode-server/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/out/vs/server/node/server.main.js:159:23092)
    at async _.installFromGallery (/home/azureuser/.vscode-server/bin/0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2/out/vs/server/node/server.main.js:159:22681)

The same VS Code and extension version works well for my colleagues. I already tried the following steps to solve the issue:

  • Completely remove all Jupyter extensions from VS Code and reinstall them
  • Remove VS Code from Windows, manually delete the extensions folder, then reinstall VS Code + extensions with the same version
  • Try a different version of Jupyter

Unfortunately, none of the steps above worked for me.

Extension version: 1.1.2
VS Code version: Code 1.85.1 (0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2, 2023-12-13T09:49:37.021Z)
OS version: Windows_NT x64 10.0.19045
Modes:
Remote OS version: Linux x64 5.15.0-1040-azure

System Info
Item Value
CPUs 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz (8 x 2995)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
Load (avg) undefined
Memory (System) 15.71GB (5.51GB free)
Process Argv
Screen Reader no
VM 0%
Item Value
Remote Azure ML: dsw-sentiment-yb-fast
OS Linux x64 5.15.0-1040-azure
CPUs Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz (64 x 2095)
Memory (System) 425.12GB (419.06GB free)
VM 0%
A/B Experiments
vsliv368:30146709
vsreu685:30147344
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vshan820:30294714
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
py29gd2263:30899288
vsclangdf:30486550
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
0bi6i642:30933247
pythongtdpath:30769146
i26e3531:30792625
welcomedialogc:30910334
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2cf:30928864
pyreplss1:30897532
pythonmypyd1:30879173
pythoncet0:30885854
2e7ec940:30885897
pythontbext0:30879054
accentitlementst:30887150
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
aa_t_chat:30882232
cp7184t3:30927821

Jupyter keymap can't work in WSL

Hey,

I enjoyed using this extension in vscode, but recently I switched to WSL on vscode and this extension is no longer availiable.

Is there any way to make this usable in WSL? Thank you.

How to add custom shortcut

For example, it allows splitting a cell by ctrl+shift+-, but somehow the counterpart merge does not exist. In Jupyter, that is shift+M

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.