VS Code: Shift+Enter でコードが Python Interactive に送信されないのはなぜですか?

VS Code: Shift+Enter でコードが Python Interactive に送信されないのはなぜですか?

現在、Anaconda と VS Code を使用して Python 開発環境をセットアップしています。

Shift以前のラップトップでは、 + を押すことで Python コードを実行できEnter、VS Code はそれを Python Interactive ウィンドウに送信していました。今これを実行すると、コードはターミナルに送信されます。Shift+ はEnter、ターミナルにコードを送信する場合と Python Interactive に送信する場合の両方のキーボード ショートカットとして登録されています。

右クリックして「現在のファイルを Python インタラクティブ ウィンドウで実行」を選択すると、Python インタラクティブで実行できます。

Shift私が望んでいるのは、 + を押すことで、選択したコードが Python Interactive で実行されることですEnter

どうすればいいですか?

答え1

私も同じ問題に悩まされていましたが、最終的にそれがグローバル設定に関連していることが分かりました。

設定(Ctrl + ,)に移動すると、検索バーが表示されます。そこに「選択範囲をインタラクティブウィンドウに送信」などを入力し、「Python › データサイエンス: 選択範囲をインタラクティブウィンドウに送信」のチェックボックスをクリックします。その後、特定の行をインタラクティブウィンドウで直接実行できるようになります。

これがお役に立てば幸いです。:)

答え2

私の場合 (VS Code 1.47.2)、ショートカットRun Selection in Python TerminalRun Selection in Python Interactive Windowsが互いに競合しています (おそらく、しばらく前に私が間違えたのでしょう)。

解決策は簡単です。

ファイル -> 設定 -> キーボードショートカット -> 入力しますrun selection

結果リストで、ショートカットRun .. in Terminal、のキーバインドRun .. in Interactive Windowsをそれぞれ+ 、+ 、+Run Cellに変更するか、競合が表示されない限り任意のキーバインドに変更します。ShiftEnterAltEnterCtrlEnter

または、Shift+Enterキーの組み合わせですべてのショートカットを検索することもできます。

ファイル -> 設定 -> キーボードショートカット -> 入力します"Shift+Enter"

結果リストで、Delete同じキーバインドを持つショートカットのキーバインドを変更または削除します (右クリック -> キーバインドを削除または )。

編集。

更新した VS Code (バージョン 1.56.2) で、次の操作を実行しました。設定に移動し、対話型ウィンドウを検索し、表示された左側のパネルで Jupyter を選択し、最後に Jupyter の横にあるボックスをオンにします: 選択を対話型ウィンドウに送信します。これで完了です。一部のユーザー (私を含む) にとってもう 1 つの手順は、選択を実行するためのキーバインドを好みに合わせて変更することです。たとえば、キーボード ショートカットに移動し、選択の実行と入力すると、キーバインドの一覧が表示され、競合がある場合は再定義する必要がある可能性があります。

ここに画像の説明を入力してください

答え3

CtrlShift+を押すP

「設定: 設定を開く (JSON)」と入力します

これを JSON ファイルに貼り付けます:

"python.dataScience.sendSelectionToInteractiveWindow": true

保存します。

答え4

私の場合、問題は、VSCode を実行しているローカル マシンに Python インタープリターがなかったことです。常にリモート カーネルに接続しているためです。Python をインストールすると、必要なキー バインディングが機能し始めました。

関連情報