メインコンテンツへスキップ
見出し画像

Visual Studio Codeの環境構築(Python)

    1.概要

    個人的に一番大好きなIDE(統合開発環境)いわゆるエディタのVS Codeの環境構築を記載します。

    【VS CODEの特徴】
    ●動作が軽い(主観ですが少なくともJupyter Notebookよりは軽い)
    ●ショートカットが豊富でエディタの操作がしやすい(一括選択や移動など)。
    ●拡張機能が豊富
    ●PythonだけでなくHTMLやJava Scriptなど多言語に対応している

    【留意事項】
    ●一般的よりは自分用のメモレベルです。
    ●拡張機能は十分理解できていないため機能の重複があるはずですとりあえず動いているのでヨシ!。

     Pythonの環境構築は別記事で作成しましたのでご参考までに。

    1-1.画面の構成(UI)

     VS Codeの画面構成は下記の通りです。

    1. エディター: ファイルを編集するメインエリア。縦にも横にも好きなだけエディタを並べて開くことができます。

    2. サイドバー:エクスプローラーのような様々なビューがあり、プロジェクト作業中に役立ちます。

    3. ステータスバー:開いているプロジェクトや編集しているファイルに関する情報が表示されます。

    4. アクティビティバー: 左端にあり、ビューを切り替えたり、Gitが有効になっている場合の送信済み変更数など、コンテキスト固有のインジケータを表示したりできます。

      • アクティビティ・バーの位置は変更できます。

    5. パネル:エディター領域の下にあるビューのための追加スペース。デフォルトでは、出力、デバッグ情報、エラーと警告、統合ターミナルが含まれています。

      • パネルは左や右に移動して縦のスペースを増やすこともできます。

    画像
    Visual Studio Codeのうれしい機能を使いこなして、初心者を最速で脱出する!《VSCode実践入門》_AMBI

    1-2.ワークスペースとは

     Visual Studio Codeのワークスペースは、VS Codeのウィンドウ(インスタンス)で開かれる1つまたは複数のフォルダーの集まりです。ほとんどの場合、ワークスペースとして開くフォルダは1つですが、開発ワークフローによっては、マルチルート・ワークスペースと呼ばれる高度な設定を使用して、複数のフォルダを含めることができます。

    ワークスペースの概念により、VS Codeは以下のことが可能になります

    • 特定のフォルダにのみ適用され、他のフォルダには適用されない設定を構成する。

    • そのワークスペースのコンテキストでのみ有効なタスクとデバッガーの起動設定を保持する。

    • そのワークスペースに関連付けられた UI の状態(たとえば、開いたファイル)を保存および復元します。

    • そのワークスペースに対してのみ、選択的に拡張機能を有効または無効にします。

    2.環境構築

    2-1.インストール

    下記サイトからUser Installerでファイルをダウンロードしてファイル実行

    画像1

    2ー2.事前設定

    VS CODEを使いやすくするように調整します。設定画面は左下歯車を押して設定ボタンを押します。

    画像6

     2-2-1.Python.exeのパス設定:Python.Path

    使用するPythonのパスを設定します。「python.python」で検索して「Python: Python Path」にPython.exeのパスを入力デフォルトは空します。
    (※非推奨Depricatedになっているため設定はいらないのかも。)

    画像7

     2-2-2.自動補完機能のEnter動作をOFF

    自動補完のEnter機能をなくしますTabボタンで充分じゃ!。「accept」で検索して「Accept Suggention On Enter」をonデフォルト->offにします。
    これにより自動補完機能が動作しているときEnterを押しても機能が実行されなくなり改行時にイライラしなくなります。

    画像9

     2-2-3.型チェック機能::Type checking Mode

    型チェック機能を設定します。「Type checking Mode」で検索して「Type Checking Mode」をoffデフォルト->basicにします。
    (なくてもいいかも。あとPylance入れた後じゃないとダメかも昔入れてたけどPC変えたら入ってなかったから)

    画像10

     2-2-4.文字区切り(形態素):Word Separators

     VS CODEでは「Ctrl + 矢印」で指定文字区切り文字まで移動できます。区切り文字は「Word Separators」に追記をします。(下記では。句点を追加しただけです。これで句点を通り過ぎないようにしました。)

    デフォルト値(上図):`~!@#$%^&*()-=+[{]}\|;:'",.<>/?
    編集後   (下図):`~!@#$%^&*()-=+[{]}\|;:'",.<>/?。

    画像
    画像

    3.拡張機能(Extensions)の追加

     拡張機能によりVS CODEに便利な機能を追加車でいうオプションできます。ほしい機能があれば適宜追加していきます。

    画像2

     拡張機能はいろいろあり下記記事は参考になります。

    3-1.Python関係

    Python:とりあえず追加

    画像4

    Python Extension Pack:補完機能やデバッグ機能がつく。

    画像5

    3-2.日本語設定

    Japanese Language Pack for Visual Studio Code:デフォルトが英文ですが日本語に変更できます。

    画像3

    3-3.自動補完機能(予測変換)

    Pylance:自動補完やエラー検索を実施してくれます。

    画像8

    3-4.Jupyter関係

    Jupyter:VS CODEでJupyterを使うために入れます。

    画像12

    Jupyter Keymap:Jupyter用コマンドを使用するために入れます。(コードセルをCtrl+Enterで実行させるなど

    画像

    3-5.コードの見映えを変更

    Bracket Pair Colorizer:それぞれのカッコBracketに色付けしてくれるため見やすくなります。

    画像

    Python Indent:コードを改行する時にインデントの高さを自動で調整してくれます。

    画像

    3-6.ドキュメント作成

     3-6-1.Markdown用:Markdown PDF

     MarkDownでドキュメントを作成したい方向けです。Markdownのドキュメントを作成する場合は拡張子:.mdを選択します。
     なおMarkdown Docを作成する場合は"Markdown: Open Preview to the Side"を選択すると実際の表示を横に並べてみることができます。

    画像

     インストールは下記で実行できます。

    画像

     なお下記記事の通り、PDF化する場合は「コマンドパレットで「Open Extension Folder」して、yzane.markdown-pdf-x.x.x → template → template.htmlを開き、”{{{mermaid}}}”の文字の下に下記記載」が必要です。

    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin="anonymous">
    <script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin="anonymous"></script>
    <script defer src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin="anonymous"></script>
    <script>
     document.addEventListener("DOMContentLoaded", () => {
       renderMathInElement(document.body, {
         delimiters: [
           { left: "$$", right: "$$", display: true },
           { left: "$", right: "$", display: false }
         ]
       });
     });
    </script>
    画像

     3-6-2.LaTeX用:LaTeX Workshop

     追って

    3-7.コード自動生成:GitHub Copilot(★有料)

     コード自動生成するサービスです。よくわからなくても入れてみて使ってみればすごさがわかります。
     2022年8月より有料化されてますのが、普段コードを書く方なら一度は使ってみてほしいサービスです(要Githubアカウント)。

    3-8.Docker

     Docker(コンテナ)を使用したい方向け(初心者は不要)

    画像

    dockerでちょっとpython試したかったらVSCodeならすごい簡単です
    拡張機能入れて、Dockerfileという名前のファイル作って「FROM python」とだけ書いて、「Reopen in Container」と打つだけで完了
    VSCode内のターミナルでもうpython使えます
    簡単に競プロできますね pic.twitter.com/RxCi70i048

    — あさくち🐙 (@paleApricot) November 15, 2022

    4.特殊設定

    4-1.Proxyの設定:社内でGitHub Copilot利用

     通信が必要なサービス(例:GitHub Copilot)は社内で使用するとProxyにより使用できないことがあります。私の例として社内でもGitHub Copilotを使用するためにVS CODEにProxy設定しました。

     初めに「Ctrl + ,」または下記手順で設定画面を開きます。設定画面の右上にあるアイコン「設定(JSON)を開く」を押すと"settings.json"が開きます。

    画像
    画像

     "settings.json"に「"http.proxy": <Proxy>」と「 "http.proxyStrictSSL": false」を追記します。proxyは各社の情シスにご確認ください。設定後に再起動するとつながらなかったGitHub Copilotが通信できるはずです。

    【settings.json ※下記proxyは参考値】
        "http.proxy": "http://111.111.1.11:10000",
        "http.proxyStrictSSL": false,
    画像

    4-2.ショートカットキーの割り振り

     通常は設定不要ですがショートカットキーの変更したい方は「設定->キーボードショートカット」を選択します。
     私の場合はGitHub Copilotを開くコマンドとJupyterの実行が干渉してしまったため(普段全く使わない)"Open GitHub Copilot"を適当に変更します。

    画像

     キーバインドの行yを押すとポップアップが出るため、枠内でショートカットにしたいキーを押してEnterを押すと設定できます。

    画像
    画像

    5.ショートカット一覧

     VS Code使用時に必須のショートカットは下記参照。注意点としてJupyter使用時においてセルブロック内選択/セルブロック選択の2種類がある。これらの切り替えは「Esc」キーで切り替え可能。

    画像
    https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf

    【選択】

    • Ctrl+D:選択箇所以降にある同じ文字を1個選択

    • Ctrl+Alt+L:同じ文字を全選択

    • Ctrl+Alt+(上下)矢印:矩形選択(選択位置と同じ位置から上下選択)

    • Shift + Alt+ドラッグ(or クリック):矩形選択

    【コピー/移動】

    • Shift+Alt+下矢印(↓):選択行を下側にコピー

    • Alt+(上下)矢印:選択行を矢印方向へ移動(行の入れ替え)

    • Ctrl+(左右)矢印:形態素まで移動(2-4節参照)

    【画面】

    • Ctrl+|:ウィンドウを分割

    • Ctrl+Alt+(左右)矢印:開いているウィンドウを移動分割

    【その他】

    6.参考資料

     VS CODEに関連するオススメ資料を記載します。

    6-1.チートシート

     下記記事よりショートカット一覧(チートシート)を参照しました。

    画像

    6-2.My拡張機能一覧

     2022年1月現在の私の拡張機能一覧です。”おすすめ”と出てポチポチしてるので、入れてる理由がわからない機能も結構あります。

    画像

    7.トラブルシューティング

    7-1.JupyterのKernel Connectionエラー

    ※完全に自分用であり動作の保証はなし

    【現象】
     ある日突然Kernelへ接続できなくなりJupyterが使用できなくなった。

    画像

    【対応事項】
     
    下記記事を参考にライブラリのVersion変更やipykernelのインストールをしてみたけど問題は解決しなかった。なおAnacondaの仮想環境を新しく作って動作させてもエラー解決できなかったつまりVS CODE側の設定。

    ●Unable to start session for kernel Python 3.8.5 32-bit #728
    ●Unable to start Jupyter notebook on VS Code
    ●How to fix Kernel Error or broken Python in Jupyter Notebook(Youtube)

    python -m pip install 'traitlets==4.3.3' --force-reinstall
    python -m pip install ipykernel
    python -m ipykernel install —user

    【解決方法】

     右上の「base(Python)」で似たようなbase(Python ver.)を選択したらいけた。(動いたからヨシ)

    画像

    8.GitHub Copilot

     GitHub Copilotの詳細記事は下記の通りです。(追って追加)



    あとがき

     今更整理し始めたけど入れた理由を覚えていない拡張機能が多すぎる。思い出したやつもどんどん入れていきたいです。

    編集履歴

    • 2021年11月21日:初版発行

    • 2025年4月26日:Copilot紹介記事の追加

     
     

    KIYO

     
     
    普段は製造業で企画/開発/設計しております。記事はプログラミング・機械学習、IoT関係の記事をメインで作成し、なるべく1つの記事で知りたいことを網羅していきます。内容は学術的より実装・アウトプット(ほしくなるもの)を重視して作成しています。 面白そうな仕事があればやりたいです!

    あなたへのおすすめ