Help us understand the problem. What is going on with this article?

Windowsで作る初心者向けプログラミング環境

1時間でWindowsでプログラミング環境を作る

対象読者

windowsでプログラミング環境を作成したい初心者

目標
  1. 一時間以内にC言語とPythonでhello worldを行う
  2. 可能な限りWindowsの環境を汚さない
  3. ステップアップしても使い続けられるor環境をリセットできるようにする

1. WSLの有効化

はじめにWSL(Windows Subsystem for Linux)の有効化を行います。
これはWindows上でLinuxというOSを動かすサービスです。もともとWindowsはプログラミング環境を構築するのがMacOSやLinuxといった他のOSと比べ難しく、WindowsPCしかないけどプログラミングしてみたい!とりあえず大学で習ったC言語でもやってみよう!という初心者(かつての私)のモチベーションを環境構築の段階で折るレベルでした。
一方、Linuxはプログラミング環境を構築するのが非常に簡単なOSですが、LinuxをWindowsPCに入れるという作業はかなり面倒です。嬉しいことにMicrosoftがWSLというサービスを用意してくれているので使いましょう。一昔前では考えられないサービスです。

1.1 コントロールパネルを開く

コントロールパネルは左下のWindowsアイコンを右クリックして出てくる「検索」にコントロールパネルと入力すれば開きます。

1.2 WSLの有効化

コントロールパネルにあるメニューのうち、「プログラムと機能」を選択します。右メニューにあるWindowsの機能の有効化または無効化をクリックします。

1.3 WSLの有効化

開いたウィンドウからWindows Subsystem for Linuxを探し、チェックを入れます。
WSLを有効にするため、一度再起動をしましょう。
1.png

2. WSL用UbuntuとWindows Terminal, VSCodeの入手

Microsoft StoreからUbuntuというアプリを入手します。これはWSL上で動かすOSのイメージです。Ubuntu, Ubutnu18.04, Ubuntu16.04とありますが、ここではUbuntu18.04を選びましょう。あまり違いはありません。ダウンロードしたら起動してください。
黒い画面が表示されて英語でユーザー名とパスワードの設定を求められるので入力してください。
キャプチャ.PNG
合わせて、Windows Terminalを入手しましょう。Preview版となっていますが特に問題はありません。
キャプチャ2.PNG
また、VSCodeというエディタをダウンロード&インストールしましょう。
https://code.visualstudio.com/

Windows Terminalが起動したら、メニューバーにあるセッティングを開いてください。

2020-02-17.png
ここのSettingを開くとVSCodeが立ち上がるはずです。
キャプチャ.PNG
画面に上側にある

setting.json
"defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}"

"defaultProfile"の値(c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40)を
下スクロールすると現れるUbuntu向けの設定のguid(c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40)

setting.json
            {
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "hidden": false,
                "name": "Ubuntu-18.04",
                "source": "Windows.Terminal.Wsl"
            }

で置き換え、上書き保存してください。これで、Windows terminalを開くと自動でUbuntuのターミナルが開きます。

3. Ubuntuのアップデート、必要なツールのインストール

Ubuntuのターミナルを開いて以下のコマンドをコピー&ペーストしてください。ターミナルへのペーストにはshift+crtl+Vでペーストできます。パスワードを求められるのでUbuntu初回設定時に入力したパスワードを入れてください

ubuntu.update
sudo apt update
sudo apt upgrade
sudo apt install build-essential          

少し時間がかかりますが、Ubuntuの更新だと思って待っていましょう。

4. VS Codeに必要な拡張機能のインストール

VSCodeを開き、メニューバーのFile>Setting>Extensionとクリックしていくと、拡張機能をインストールできるメニューが開きます。
そこで、以下の拡張機能をインストールしてください。

Japanese Language Pack for VS Code
Remote - WSL

再度Ubutuターミナルを開き、

openvscode
code .         

と入力します。これで、VSCodeをUbuntu上で動かすことができるようになります。
また、ターミナルで開いたVSCodeから拡張機能

Python
C/C++

を入れてください。これらの拡張機能は対応のプログラミング言語の誤りを指摘してくれたり、コードが見やすくなるようなハイライトを加えてくれます。
以上で最低限の環境構築は終了です。

5. プログラムの作成

5.1 C言語

VSCodeでC言語のhello worldファイルを作成し、保存しましょう。今回はDesktop化に保存したとします。

hello_world.c
#include <stdio.h>

int main(){
    printf("Hello World!\n");
    return 0;
}      

VSCodeのメニューにあるターミナル>新しいターミナルをクリックすると下側にターミナル画面が開くはずです。そのターミナルに

move_dir
cd Desktop
gcc hello_world.c
./a.out

と入力すれば、ターミナルがDesktopフォルダーに移動、hello_world.cファイルをコンパイル、出力したa.outファイルを実行し、ターミナルにHello World!と出力されます。
おめでとうございます!これでC言語の開発環境ができました。どんどんプログラムを作成してコンパイル&実行してみてください。

5.2 Python

Pythonの場合はもっと簡単です。

hello_world.py
print("Hello World!")

を作成し、同様にターミナルから

move_dir
cd Desktop
python hello_world.py

とするだけです。おめでとうございます!Pythonの開発環境もできました!簡単ですね!もしPythonでガリガリ書いて行きたいとお考えでしたら、ターミナルから

installmojule
sudo apt install python3-pip
pip3 install jupyter
pip3 install ipython
pip3 install numpy scipy matplotlib pandas scikit-learn flask

で必要なモジュールをインストールできます。

6. さらに別の言語を試す

もちろんC、Pythonだけでなく他のプログラミング言語も簡単に作成できます。
Google検索から

Ubuntu (使用したいプログラミング言語)

で検索して出てきた記事に記載されているコマンドをターミナルで入力し、VSCodeにそのプログラミング言語の拡張機能を入れるだけです。
Golang: https://github.com/golang/go/wiki/Ubuntu
Rust : https://www.rust-lang.org/tools/install

Let's enjoy programming!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした