ココアのお勉強ブログ

理工学研究科の大学院1年生です。主に深層学習を中心に勉強/研究しています。まだまだ初心者なので優しくしてくれると嬉しいです。きまぐれでイラストも描きます。イラスト : https://hotcocoagallery.jimdosite.com/

Windows10でVScodeの設定メモ

サーベイ記事でも何でもありません。マジでただの自分のメモ書きです。

多分何も参考にならないと思います。

VScodeダウンロードとpythonの設定

VScodeのダウンロード

qiita.com

pythonで作業するための設定

www.sejuku.net

WSLダウンロード

VScode上でbashを使いたいのでWSLをダウンロード(git bashでもいいと思う)。

qiita.com

Remote-WSLダウンロード

VScodeでWSLを使うためにRemote-WSLという拡張を入れる。

syobon.jp

Remote Development ダウンロード

VScodeを開いてRemote Developmentと呼ばれる拡張を入れる。

これはVScodessh接続するために必要となるのでもしssh接続しないなら入れなくても良いです。

(今回は自分が多段sshをしたかったので入れた)

ここで既に多段sshの設定はできていて、設定ファイルや鍵が「C:/Users/ユーザー名/.ssh」に置いてあるとします。

dev.classmethod.jp

SSHって?

SSHとは?仕組みとSSHサーバーの設定をわかりやすく解説します! | カゴヤのサーバー研究室

多段SSHって?

多段SSHの設定を.ssh/configにまとめる - Qiita

Windowsで生じるエラーによる対処

通常多段sshのconfigは以下のように設定するのが普通です。

Host 踏み台サーバ
HostName 踏み台サーバアドレス
User ユーザー名
IdentityFile 鍵のパス

Host 目的サーバー名
HostName localhost
User ユーザー名
IdentityFile 鍵のパス
ProxyCommand ssh -W %h:%p 踏み台サーバー名

ですがwindows10では「Could not establish connecting to "サーバー名"」みたいなエラーが表示されうまくいかないらしいので、

ProxyCommand ssh -W %h:%p 踏み台サーバー名

の部分を

ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -W %h:%p 踏み台サーバー名

と変更することで接続ができるらしいです。

引用:

Visual Studio Code - vscodeの多段SSHをしたい|teratail

flake8インストール

pythonのエラーチェックをしてくれるモジュールのラッパーのインストール。

qiita.com

 

上記のリンクでうまくflake8を構築できなかったらcornflakes-linterという拡張を入れると良いかもしれません(こっちの方が若干楽)。僕はこちらを採用しました。

f:id:hotcocoastudy:20200216141842p:plain

flake8の使用例

僕は何故かflake8の設定ができてもautopep8の設定ができなかったので、

Python-autopep8」と呼ばれる拡張機能を追加しました。

これは編集中のpythonファイルを開きながらコマンドパレットに「autopep8」と打つと整形してくれる。上記のリンクではautopep8の自動整形の設定まで書いてあるが自分はうまくいかなかったのでこちらを採用(なお会社のPCではうまくできた模様、謎)。

f:id:hotcocoastudy:20200215191440p:plain

なお先程入れたPythonの拡張に保存した際に自動整形する機能がついていたため無理にautopep8を入れなくてもよいかと思います。

その他拡張機能

qiita.com

www.hypertextcandy.com

上記のリンクから自分に良さそうな拡張を探して

などなど入れていきます。ここは完全に自由です。

ポチるだけなので楽しいです。買い物してる気分。

注意

ローカルとリモート間で拡張が共有されるわけではないのでそれぞれで拡張を入れる必要があります。

モジュールを入れ過ぎると補完機能(インテリセンス)が重くなるのがネックかなと思いました。「読み込んでいます...」という画面が出てしまう...みたいな時は補完できるまで4~5分待つと表示されたりします。一度補完されると後はスムーズに出てくると思うので最初だけ待たなきゃいけないような感じになることもあります。今後何とか軽量化したいです。というか解決できる人がいたら教えてほしい...。