Tag Archives: VSCode

Visual Studio Codeにpythonの拡張がインストールできない

どうやらダウンロードのLimit値に引っかかってダウンロードできないことがあるみたい

直ったやり方

  1. C:\User\(UserName)\.vscodeフォルダを削除する
  2. https://marketplace.visualstudio.com/items?itemName=ms-python.pythonへ行って”Download Extension“から拡張子vsixのファイルをダウンロードする。
  3. VSCodeを起動して以下のようにインストールする

WSLとVcXsrvでLinuxのGUIをインストール

前提条件

Windows 10 64bit

WSLをインストール

アプリケーションの機能の追加でWindows System For Linuxをインストール。
WSLをインストール

インストールできたらstoreを起動してubuntuで検索してubuntuをインストールする。

ubuntuを最新にしておく

ミラーの設定

aptのソースを変更してjpミラーにする。以下のコマンドを実行

アップデート

ターミナル変更

デフォルトのターミナルはバッファがなくて使いづらいので変更。ターミナルとは文字だけが表示されているあのウインドウのこと。昔は1つのメインフレームに多くの端末が接続されていて、それをターミナルと読んだ。メインフレームにはモニターはないか使わない。ここではWSLで動くubuntuがメインフレームみたいなものでそれに接続し表示するものをターミナルと読んでいる。

minttyを使う。ここからwsltty-3.0.1.2-install.exeをダウンロード。警告が出るが構わず実行。デスクトップに’WSL Terminal’が出るのでこれを起動するとubuntuに接続したminttyが起動する。

FirefoxやVSCodeを動かしてみる

LinuxでのGUIの扱いはやや複雑でモニターを持っているマシンをXサーバーといい、プログラム実行はクライアントで行い表示はXサーバーで行う仕組みになっている。WSLの場合はGUI機能はないと思うので、Windows側でXサーバーを動かしてプログラムはWSLで動かすことになる。

Windows側のXサーバーのインストール

ここではVcXsrcを使う。vcxsrv-64.1.20.1.4.installer.exeをダウンロードしてインストールした。

VcXsrvの起動

インストールするとデスクトップに’XLaunch’というショートカットができるので起動。ダイアログが表示されるが全部デフォルトで進むとタスクバーにXのアイコンがでて起動が完了した。

ubuntuにFirefoxをインストール

Firefox起動

WSLで起動したFirefox

DISPLAY環境変数にXサーバーを指定することで起動が行える。実際に表示しているのは上で起動したVcXsrv

ubuntuにVSCodeをインストール

直リンインストール

このdebはインストールするとaptソースも書き換えてくれるようなので、次からはaptでアップデートできる。上のコマンドは最新のaptではsudo apt install aaa.debでもいいらしい。

ない場合はhttps://code.visualstudio.com/docs/setup/linuxからdebファイルをダウンロードしてubuntuにもってくる。あるいは上で起動したFirefoxからダウンロードする。ubuntu側からは/mntからNTFSにアクセスできる。

VSCode起動

VSCodeはWindowsでインストールして、それを使ってくれとのこと、ubuntuからでも起動できるから、とのことだがスルー

WSLでVSCodeを起動

日本語フォントのインストール

日本語が表示できないので以下でインストールしてみる。なお日本語入力はスルーする。

これでもタイトルバーだけは文字化けするがこれはVcXsrv側の問題だと思うのでここではスルー。

(注)ここからはやらないほうがいいかもしれない。VcXsrvがおかしくなってfirefoxが起動できなくなった。

gnome-terminalをインストール

ubuntuデスクトップではdbusという設定サーバが見たいのが動いている。これはWindowsのレジストリのように機能していると思うがこれがないとgnome-terminal等のgnome関連のアプリが動かないので、まずはdbusをインストールして設定する。

WSLの終了

ubuntuのshutdownコマンドは効かないので、Windows側でサービスLxssManagerを終了する。管理者コマンドプロンプトで以下を入力

このサービスは自動で起動するように設定されてるようなので、WSLの起動には問題ない。

未整理情報

VScodeのシェルをmsys2に変える

変更の範囲

プロジェクト(フォルダ)ごとに設定するか、ユーザ設定にするか選べる。プロジェクトごとに設定する場合は、プロジェクトフォルダの.vscode/settings.jsonを編集する。ユーザ設定の場合は、[Ctrl]+[Shift]+Pで「Open Settings (JSON)」を選ぶと編集できる。(ただしプロジェクトごとの設定でうまく動かなかったのでここでは非推奨)

以下の内容を記述。(追加する場合は外側のカッコを無視した中身だけを追加)

bash.exeのパスは自分の環境に合わせる。バックスラッシュはエスケープするので2つ書く。環境変数CHERE_INVOKINGはディレクトリをホームに移動しない指示。MSYSTEMはMINGのツールチェインらしい。mingを使わなければ関係ないはず。

これを記述したら、プロジェクトを2回開き直す(最初に確認が行われるため)。

msys2のgitはうまく動かなかった(パス関係?)ので、オフィシャルのgitなら動くのでそれを設定

しかもmsys2はもともとのWindowsのパスを無視してしまうのでnodeやnpmが使えないのでVSCodeで好きなシェルを起動できる拡張の「Shell launcher」をインストール。設定で以下を追加。

ここにあるパスは有効なものしか機能しない。cmdやPowerShell実際の値はVSCodeが設定する値(”terminal.integrated.shell.windows”)から確認できる。以下の動画を参照。

VSCodeでcmdやpowershellのパスを確認

ショートカットキーを登録

Files –> Preferences –> Keyboard Shortcutsから登録。

VSCodeでショートカットキーを登録

またはユーザ設定のフォルダにあるkeybindings.json(C:\Users\ユーザー\AppData\Roaming\Code\User\settings.json)を以下のようにする。