Python Shift + enter не работает в VScode с jupyter

У меня есть новая установка VS Code версии 1.50.1 с расширением python, которое теперь добавило расширение Jupyter. Номер сборки расширения Jupyter — 2020.12.411183115. Когда я нажимаю Shift Enter по умолчанию, он добавляет новую строку ниже. Вы можете видеть в видео, что Shift + Enter должен работать, чтобы запустить строку. На данный момент единственный способ запустить код в интерактивном окне — это нажать ctrl + shift + p и выбрать запуск выбранной ячейки.

Редактировать после работы с Дэнни Вародом и комментариями ниже:
Изменение сочетания клавиш на ctrl+enter и ничего не происходит (не добавляет новую строку ниже). Я нажимаю ctrl + shift + p и вижу, что правильный ярлык — crtl + enter, но он не запускает действие

Вот скриншот моих сочетаний клавиш до изменения.

Изменение моих сочетаний клавиш, чтобы они соответствовали комментарию ниже. Теперь при нажатии ctrl+enter ничего не происходит.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
14
0
13 263
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Shift+Enter также вставил новую строку для меня, отмена сопоставления предотвратила это.

Я изменил сопоставления на:

Эти сопоставления работают для меня, однако в блокнотах Jupyter (.ipynb) Ctrl+Enter и Shift+Enter меняются местами по сравнению с тем, что я определил 🤔.

Кроме того, я использую следующие расширения Python:

  • "Волшебный Питон" magicstack.magicpython
  • "Юпитер" ms-toolsai.jupyter

Оба установлены:

  • «Пакет расширений Python» donjayamanne.python-extension-pack

Когда я открываю файлы .ipynb, они открываются как блокноты Jupyter. Когда я открываю файлы .py, я могу использовать Jupyter или MagicPython (и ни в коем случае не Python).

Я обновил свой текст выше после внесения этих изменений. Не повезло

Jeffkrop 10.12.2020 21:17

@Jeffkrop Я только что заметил - вы находитесь в файле .py, а не в блокноте Jupyter .ipynb, поэтому вы смотрите на неправильные настройки.

Danny Varod 10.12.2020 21:24

это работало в прошлом для файла .py. Изменилось ли это за последнюю неделю?

Jeffkrop 10.12.2020 21:26

@Jeffkrop Не то, чтобы я знал. Возможно, обновление расширения что-то изменило или вы настроили вкладку для использования другого интерпретатора Python (MagicPython), отличного от прежнего (Juptyer).

Danny Varod 10.12.2020 21:30

Хорошо, после установки MagicPython я вижу это в правом нижнем углу. Но все же, когда я нажимаю shift, он добавляет новую строку. Если я нажимаю ctrl + shift + p, я могу выбрать строку запуска с интерактивным окном и показать ярлык как дерьмо + ввод.

Jeffkrop 10.12.2020 21:53

@Jeffkrop, какие у вас сопоставлены ярлыки MagicPython?

Danny Varod 10.12.2020 21:55

Давайте продолжим обсуждение в чате.

Jeffkrop 10.12.2020 22:11

Я сделал все то же самое, за исключением того, что я использую crtl + enter для выбора/строки запуска jupyter в интерактивном окне. Он по-прежнему не срабатывает с помощью сочетания клавиш.

Jeffkrop 10.12.2020 23:04
Ответ принят как подходящий

Пожалуйста, используйте следующие настройки сочетания клавиш:

{ "key": "shift+enter",           "command": "jupyter.execSelectionInteractive", "when": "editorTextFocus"
},

Эта клавиша быстрого доступа задается условиями использования, и ее можно использовать только при ее подтверждении (в том числе при открытии панели управления). Следовательно, мы можем удалить условия использования этой клавиши быстрого доступа.

Это то, что у меня было установлено по умолчанию. После изменения, чтобы соответствовать приведенному выше, он работает. "editorTextFocus && jupyter.ownsSelection && !findInputFocussed && !notebookEditorFocused && !replaceInputFocussed && editorLangId == 'python'"

Jeffkrop 11.12.2020 15:08

В settings.json под .vscode добавьте следующую строку:

"jupyter.sendSelectionToInteractiveWindow": true

Тогда Shift+Enter должно работать.

Этот ответ работал лучше для меня, так как принятый ответ испортил ярлык при использовании интерактивной панели.

han-tyumi 23.09.2021 17:22

Сейчас не работает......

DachuanZhao 15.11.2022 08:13

Я обнаружил, что этот ответ работал, когда: использовал его отдельно в settings.json и удалял любые пользовательские сочетания клавиш в keybindings.json, например: "key": "shift+enter", "command": "jupyter.execSelectionInteractive", "when": "editorTextFocus". В результате Shift + Enter, когда текстовый редактор сфокусирован, запускает код в интерактивном окне Python, а затем Shift + Enter также запускает код в том же интерактивном окне при вводе в поле ввода кода этого интерактивного окна.

Buzz B 16.02.2023 16:18

Что вам нужно изменить, это Блокнот: Выполнить ячейку:

В моем случае проблема была с расширениями; Установил Python и Jupyter из меню Extension на левой панели, тогда заработало.

Примечание. Я уже добавил следующие строки в ‍‍‍‍setting.json:

"jupyter.sendSelectionToInteractiveWindow": true

Для меня это было решено путем удаления команды Insert Line Bellow, которая якобы конфликтовала с моей горячей клавишей shift + enter в блокнотах.

Похоже, есть новый параметр для переключения этого поведения. Мне просто нужно было добавить эту строку в файл настроек:

file: .vscode/settings.json

{
  "jupyter.interactiveWindow.textEditor.executeSelection": true
}

Другие вопросы по теме