VSCode, Remote-ContainerでHelloWorldを10言語やってみる
はじめに
- VSCodeのremote-containersが開発環境構築時にすごく便利だと感じたので、適当な10のプログラミング言語でHelloWorldやってみます
- Rust, Go, Python, C++, C#, Ruby, TypeScript, Java, Dart, プロデル!
- なるべくシンプルに、汎用的に
- まだ全てにおいてはデバッグ実行できるところまで記述していません(手抜き。。)
準備
- 前提:VSCode 1.51.1
- 前提:Windows10 home(Insider Previewバージョン)の環境で試していますが、Macでもほぼ変わらないと思います
- VSCodeをインストールする(方法は割愛)
- Extension:Remote-Containerをインストールする
- Docker環境を用意する
- Windowsなら、Docker Desktop for Windowsを使えるようにします。
- 最近ではWindows10 homeでもDocker for Windowsが使えます、Insider Previewも不要
- 参考:https://qiita.com/poramal/items/11912b5533ec8e7dbaac
- こちらの記事はWindows10 proでやっていますが、homeでもできるはずです
- Macなら、Docker Desktop for Macのインストールは簡単です。
①Rust
- 1.まず適当なworkディレクトリを作ってVSCodeで開きます
- この時点でディレクトリ内は空でいいです
- 2.「Command Palette」を開いて、
Remote-Containers:Add Development Container Configuration Files...
を実行
- 3.コンテナを生成して、VSCodeをコンテナ接続に切り替えます
- 4.
helloworld.rs
を作成して、コーディングします。
fn main(){
println!("hello world!");
}
- 5.vscode内のterminalでビルドします、バイナリが生成されます
$ rustc helloworld.rs
- 6.実行します
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/helloworld",
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
│ helloworld
│ helloworld.rs
│
├─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─.vscode
launch.json
- 8.実務的には、
- さすがにビルド・実行を一発でやりたいです
- こちらをDLしてきてベースにするのが実用的です、詳細は割愛、他の言語も同様にgithubから雛形ひっぱってくるのが賢明
②Go
- 1.前項参照
- 2.ほぼ前項と同じ
-
Go
→ 1.15
、選択していく
- 3.前項参照
- 4.
helloworld.go
を作成して、コーディングします。
package main
import "fmt"
func main() {
fmt.Printf("hello world!\n")
}
- 5.vscode内のterminalで実行します
$ go run helloworld.go
- 6.とりあえずここまでですが、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
③Python
- 1.前項参照
- 2.ほぼ前項と同じ
-
Python 3
→ 3.9
、選択していく
- 3.前項参照
- 4.
helloworld.py
を作成して、コーディングします。
print("hello world!")
- 5.vscode内のterminalで実行します
$ python helloworld.py
- 6.こちらも、とりあえずここまでですが、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
④C++
- 1.前項参照
- 2.ほぼ前項と同じ
-
C++
→ Ubuntu20.04
、選択していく
- 3.前項参照
- 4.
helloworld.cpp
を作成して、コーディングします。
#include <stdio.h>
int main() {
printf("hello world");
return 0;
}
-
5.ビルド&実行します
6.ディレクトリ構造です、余裕があればcmake対応についても今後記述しておきます
│ helloworld
│ helloworld.cpp
│
├─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─.vscode
launch.json
tasks.json
⑤C#'
- 1.前項参照
- 2.ほぼ前項と同じ
-
C#(.NET Core)
→ 3.1(default)
、選択していく
- 3.前項参照
- 4.Terminalからプロジェクトを生成します。
$ dotnet new console
│ Program.cs
│ test-devcontainer-csharp-helloworld.csproj
│
├─.devcontainer
│ │ devcontainer.json
│ │ Dockerfile
│ │
│ └─library-scripts
│ azcli-debian.sh
│
├─.vscode
│ launch.json
│ tasks.json
⑥Ruby
- 1.前項参照
- 2.ほぼ前項と同じ
-
Ruby
→ 2.7
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
print "hello world!\n"
- 5.vscode内のterminalで実行します
$ ruby helloworld.rb
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.rb
│
└─.devcontainer
devcontainer.json
Dockerfile
⑦TypeScript
- 1.前項参照
- 2.ほぼ前項と同じ
-
Node.js & TypeScript
→ 14
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
console.log("hello world!");
- 5.vscode内のterminalで実行します
$ tsc helloworld.cs
$ node helloworld.js
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.js
│ helloworld.ts
│
└─.devcontainer
devcontainer.json
Dockerfile
⑧Java
- 1.前項参照
- 2.ほぼ前項と同じ
-
Java
→ 15
、選択していく
- 3.前項参照
- 4.
helloworld.java
を作成して、コーディングします。
public class helloworld{
public static void main(String[] args){
System.out.println("hello world!!");
}
}
- 5.vscode内のterminalで実行します
$ javac helloworld.java
$ java helloworld
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.class
│ helloworld.java
│
└─.devcontainer
devcontainer.json
Dockerfile
⑨Dart
- 1.前項参照
- 2.ほぼ前項と同じ
-
Dart
を選択していく
- 3.前項参照
- 4.
helloworld.dart
を作成して、コーディングします。
void main() {
print('hello world!');
}
- 5.vscode内のterminalで実行します
$ dart helloworld.dart
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.dart
│
└─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─library-scripts
common-debian.sh
⑩プロデル(笑)
- 1.前項参照
- 2.下記のディレクトリ、ファイルを手動で作成
└─.devcontainer
devcontainer.json
Dockerfile
devconainer.json
{
"name": "Produire",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
},
"extensions": [
"utopiat.produirelang"
],
}
Dockerfile
FROM mono
RUN \
apt-get update && \
apt-get install unzip wget -y && \
rm -rf /var/lib/apt/lists/*
RUN wget -O produire.zip https://rdr.utopiat.net/files/mono//produire-mono-1.6.965.zip \
&& unzip 'produire.zip' -d /usr/bin
- 3.前項参照
- 4.
helloworld.rdr
を作成して、コーディングします。
「hello world!」を表示する
- 5.vscode内のterminalで実行します
$ mono /usr/bin/produire-mono/pconsole.exe helloworld.rdr
- 6.ディレクトリ構造です、業務用に使うことはなさそうですが教育用にいかがでしょうか、ただ、これに関してはパッケージマネージャとかもなく、ローカル環境にいろいろ入れ込むわけではないので、コンテナ上に構築する意味は薄そうです。
│ helloworld.rdr
│
└─.devcontainer
devcontainer.json
Dockerfile
- Rust, Go, Python, C++, C#, Ruby, TypeScript, Java, Dart, プロデル!
- 前提:VSCode 1.51.1
- 前提:Windows10 home(Insider Previewバージョン)の環境で試していますが、Macでもほぼ変わらないと思います
- VSCodeをインストールする(方法は割愛)
- Extension:Remote-Containerをインストールする
- Docker環境を用意する
- Windowsなら、Docker Desktop for Windowsを使えるようにします。
- 最近ではWindows10 homeでもDocker for Windowsが使えます、Insider Previewも不要
- 参考:https://qiita.com/poramal/items/11912b5533ec8e7dbaac
- こちらの記事はWindows10 proでやっていますが、homeでもできるはずです
- Macなら、Docker Desktop for Macのインストールは簡単です。
- Windowsなら、Docker Desktop for Windowsを使えるようにします。
①Rust
- 1.まず適当なworkディレクトリを作ってVSCodeで開きます
- この時点でディレクトリ内は空でいいです
- 2.「Command Palette」を開いて、
Remote-Containers:Add Development Container Configuration Files...
を実行
- 3.コンテナを生成して、VSCodeをコンテナ接続に切り替えます
- 4.
helloworld.rs
を作成して、コーディングします。
fn main(){
println!("hello world!");
}
- 5.vscode内のterminalでビルドします、バイナリが生成されます
$ rustc helloworld.rs
- 6.実行します
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/helloworld",
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
│ helloworld
│ helloworld.rs
│
├─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─.vscode
launch.json
- 8.実務的には、
- さすがにビルド・実行を一発でやりたいです
- こちらをDLしてきてベースにするのが実用的です、詳細は割愛、他の言語も同様にgithubから雛形ひっぱってくるのが賢明
②Go
- 1.前項参照
- 2.ほぼ前項と同じ
-
Go
→ 1.15
、選択していく
- 3.前項参照
- 4.
helloworld.go
を作成して、コーディングします。
package main
import "fmt"
func main() {
fmt.Printf("hello world!\n")
}
- 5.vscode内のterminalで実行します
$ go run helloworld.go
- 6.とりあえずここまでですが、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
③Python
- 1.前項参照
- 2.ほぼ前項と同じ
-
Python 3
→ 3.9
、選択していく
- 3.前項参照
- 4.
helloworld.py
を作成して、コーディングします。
print("hello world!")
- 5.vscode内のterminalで実行します
$ python helloworld.py
- 6.こちらも、とりあえずここまでですが、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
④C++
- 1.前項参照
- 2.ほぼ前項と同じ
-
C++
→ Ubuntu20.04
、選択していく
- 3.前項参照
- 4.
helloworld.cpp
を作成して、コーディングします。
#include <stdio.h>
int main() {
printf("hello world");
return 0;
}
-
5.ビルド&実行します
6.ディレクトリ構造です、余裕があればcmake対応についても今後記述しておきます
│ helloworld
│ helloworld.cpp
│
├─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─.vscode
launch.json
tasks.json
⑤C#'
- 1.前項参照
- 2.ほぼ前項と同じ
-
C#(.NET Core)
→ 3.1(default)
、選択していく
- 3.前項参照
- 4.Terminalからプロジェクトを生成します。
$ dotnet new console
│ Program.cs
│ test-devcontainer-csharp-helloworld.csproj
│
├─.devcontainer
│ │ devcontainer.json
│ │ Dockerfile
│ │
│ └─library-scripts
│ azcli-debian.sh
│
├─.vscode
│ launch.json
│ tasks.json
⑥Ruby
- 1.前項参照
- 2.ほぼ前項と同じ
-
Ruby
→ 2.7
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
print "hello world!\n"
- 5.vscode内のterminalで実行します
$ ruby helloworld.rb
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.rb
│
└─.devcontainer
devcontainer.json
Dockerfile
⑦TypeScript
- 1.前項参照
- 2.ほぼ前項と同じ
-
Node.js & TypeScript
→ 14
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
console.log("hello world!");
- 5.vscode内のterminalで実行します
$ tsc helloworld.cs
$ node helloworld.js
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.js
│ helloworld.ts
│
└─.devcontainer
devcontainer.json
Dockerfile
⑧Java
- 1.前項参照
- 2.ほぼ前項と同じ
-
Java
→ 15
、選択していく
- 3.前項参照
- 4.
helloworld.java
を作成して、コーディングします。
public class helloworld{
public static void main(String[] args){
System.out.println("hello world!!");
}
}
- 5.vscode内のterminalで実行します
$ javac helloworld.java
$ java helloworld
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.class
│ helloworld.java
│
└─.devcontainer
devcontainer.json
Dockerfile
⑨Dart
- 1.前項参照
- 2.ほぼ前項と同じ
-
Dart
を選択していく
- 3.前項参照
- 4.
helloworld.dart
を作成して、コーディングします。
void main() {
print('hello world!');
}
- 5.vscode内のterminalで実行します
$ dart helloworld.dart
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.dart
│
└─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─library-scripts
common-debian.sh
⑩プロデル(笑)
- 1.前項参照
- 2.下記のディレクトリ、ファイルを手動で作成
└─.devcontainer
devcontainer.json
Dockerfile
devconainer.json
{
"name": "Produire",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
},
"extensions": [
"utopiat.produirelang"
],
}
Dockerfile
FROM mono
RUN \
apt-get update && \
apt-get install unzip wget -y && \
rm -rf /var/lib/apt/lists/*
RUN wget -O produire.zip https://rdr.utopiat.net/files/mono//produire-mono-1.6.965.zip \
&& unzip 'produire.zip' -d /usr/bin
- 3.前項参照
- 4.
helloworld.rdr
を作成して、コーディングします。
「hello world!」を表示する
- 5.vscode内のterminalで実行します
$ mono /usr/bin/produire-mono/pconsole.exe helloworld.rdr
- 6.ディレクトリ構造です、業務用に使うことはなさそうですが教育用にいかがでしょうか、ただ、これに関してはパッケージマネージャとかもなく、ローカル環境にいろいろ入れ込むわけではないので、コンテナ上に構築する意味は薄そうです。
│ helloworld.rdr
│
└─.devcontainer
devcontainer.json
Dockerfile
- この時点でディレクトリ内は空でいいです
Remote-Containers:Add Development Container Configuration Files...
を実行
helloworld.rs
を作成して、コーディングします。
fn main(){
println!("hello world!");
}
$ rustc helloworld.rs
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/helloworld",
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
│ helloworld
│ helloworld.rs
│
├─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─.vscode
launch.json
- さすがにビルド・実行を一発でやりたいです
- こちらをDLしてきてベースにするのが実用的です、詳細は割愛、他の言語も同様にgithubから雛形ひっぱってくるのが賢明
- 1.前項参照
- 2.ほぼ前項と同じ
-
Go
→1.15
、選択していく
-
- 3.前項参照
- 4.
helloworld.go
を作成して、コーディングします。
package main
import "fmt"
func main() {
fmt.Printf("hello world!\n")
}
- 5.vscode内のterminalで実行します
$ go run helloworld.go
- 6.とりあえずここまでですが、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
③Python
- 1.前項参照
- 2.ほぼ前項と同じ
-
Python 3
→ 3.9
、選択していく
- 3.前項参照
- 4.
helloworld.py
を作成して、コーディングします。
print("hello world!")
- 5.vscode内のterminalで実行します
$ python helloworld.py
- 6.こちらも、とりあえずここまでですが、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
④C++
- 1.前項参照
- 2.ほぼ前項と同じ
-
C++
→ Ubuntu20.04
、選択していく
- 3.前項参照
- 4.
helloworld.cpp
を作成して、コーディングします。
#include <stdio.h>
int main() {
printf("hello world");
return 0;
}
-
5.ビルド&実行します
6.ディレクトリ構造です、余裕があればcmake対応についても今後記述しておきます
│ helloworld
│ helloworld.cpp
│
├─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─.vscode
launch.json
tasks.json
⑤C#'
- 1.前項参照
- 2.ほぼ前項と同じ
-
C#(.NET Core)
→ 3.1(default)
、選択していく
- 3.前項参照
- 4.Terminalからプロジェクトを生成します。
$ dotnet new console
│ Program.cs
│ test-devcontainer-csharp-helloworld.csproj
│
├─.devcontainer
│ │ devcontainer.json
│ │ Dockerfile
│ │
│ └─library-scripts
│ azcli-debian.sh
│
├─.vscode
│ launch.json
│ tasks.json
⑥Ruby
- 1.前項参照
- 2.ほぼ前項と同じ
-
Ruby
→ 2.7
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
print "hello world!\n"
- 5.vscode内のterminalで実行します
$ ruby helloworld.rb
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.rb
│
└─.devcontainer
devcontainer.json
Dockerfile
⑦TypeScript
- 1.前項参照
- 2.ほぼ前項と同じ
-
Node.js & TypeScript
→ 14
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
console.log("hello world!");
- 5.vscode内のterminalで実行します
$ tsc helloworld.cs
$ node helloworld.js
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.js
│ helloworld.ts
│
└─.devcontainer
devcontainer.json
Dockerfile
⑧Java
- 1.前項参照
- 2.ほぼ前項と同じ
-
Java
→ 15
、選択していく
- 3.前項参照
- 4.
helloworld.java
を作成して、コーディングします。
public class helloworld{
public static void main(String[] args){
System.out.println("hello world!!");
}
}
- 5.vscode内のterminalで実行します
$ javac helloworld.java
$ java helloworld
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.class
│ helloworld.java
│
└─.devcontainer
devcontainer.json
Dockerfile
⑨Dart
- 1.前項参照
- 2.ほぼ前項と同じ
-
Dart
を選択していく
- 3.前項参照
- 4.
helloworld.dart
を作成して、コーディングします。
void main() {
print('hello world!');
}
- 5.vscode内のterminalで実行します
$ dart helloworld.dart
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.dart
│
└─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─library-scripts
common-debian.sh
⑩プロデル(笑)
- 1.前項参照
- 2.下記のディレクトリ、ファイルを手動で作成
└─.devcontainer
devcontainer.json
Dockerfile
devconainer.json
{
"name": "Produire",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
},
"extensions": [
"utopiat.produirelang"
],
}
Dockerfile
FROM mono
RUN \
apt-get update && \
apt-get install unzip wget -y && \
rm -rf /var/lib/apt/lists/*
RUN wget -O produire.zip https://rdr.utopiat.net/files/mono//produire-mono-1.6.965.zip \
&& unzip 'produire.zip' -d /usr/bin
- 3.前項参照
- 4.
helloworld.rdr
を作成して、コーディングします。
「hello world!」を表示する
- 5.vscode内のterminalで実行します
$ mono /usr/bin/produire-mono/pconsole.exe helloworld.rdr
- 6.ディレクトリ構造です、業務用に使うことはなさそうですが教育用にいかがでしょうか、ただ、これに関してはパッケージマネージャとかもなく、ローカル環境にいろいろ入れ込むわけではないので、コンテナ上に構築する意味は薄そうです。
│ helloworld.rdr
│
└─.devcontainer
devcontainer.json
Dockerfile
-
Python 3
→3.9
、選択していく
helloworld.py
を作成して、コーディングします。print("hello world!")
$ python helloworld.py
- 1.前項参照
- 2.ほぼ前項と同じ
-
C++
→Ubuntu20.04
、選択していく
-
- 3.前項参照
- 4.
helloworld.cpp
を作成して、コーディングします。
#include <stdio.h>
int main() {
printf("hello world");
return 0;
}
-
5.ビルド&実行します
6.ディレクトリ構造です、余裕があればcmake対応についても今後記述しておきます
│ helloworld
│ helloworld.cpp
│
├─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─.vscode
launch.json
tasks.json
⑤C#'
- 1.前項参照
- 2.ほぼ前項と同じ
-
C#(.NET Core)
→ 3.1(default)
、選択していく
- 3.前項参照
- 4.Terminalからプロジェクトを生成します。
$ dotnet new console
│ Program.cs
│ test-devcontainer-csharp-helloworld.csproj
│
├─.devcontainer
│ │ devcontainer.json
│ │ Dockerfile
│ │
│ └─library-scripts
│ azcli-debian.sh
│
├─.vscode
│ launch.json
│ tasks.json
⑥Ruby
- 1.前項参照
- 2.ほぼ前項と同じ
-
Ruby
→ 2.7
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
print "hello world!\n"
- 5.vscode内のterminalで実行します
$ ruby helloworld.rb
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.rb
│
└─.devcontainer
devcontainer.json
Dockerfile
⑦TypeScript
- 1.前項参照
- 2.ほぼ前項と同じ
-
Node.js & TypeScript
→ 14
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
console.log("hello world!");
- 5.vscode内のterminalで実行します
$ tsc helloworld.cs
$ node helloworld.js
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.js
│ helloworld.ts
│
└─.devcontainer
devcontainer.json
Dockerfile
⑧Java
- 1.前項参照
- 2.ほぼ前項と同じ
-
Java
→ 15
、選択していく
- 3.前項参照
- 4.
helloworld.java
を作成して、コーディングします。
public class helloworld{
public static void main(String[] args){
System.out.println("hello world!!");
}
}
- 5.vscode内のterminalで実行します
$ javac helloworld.java
$ java helloworld
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.class
│ helloworld.java
│
└─.devcontainer
devcontainer.json
Dockerfile
⑨Dart
- 1.前項参照
- 2.ほぼ前項と同じ
-
Dart
を選択していく
- 3.前項参照
- 4.
helloworld.dart
を作成して、コーディングします。
void main() {
print('hello world!');
}
- 5.vscode内のterminalで実行します
$ dart helloworld.dart
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.dart
│
└─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─library-scripts
common-debian.sh
⑩プロデル(笑)
- 1.前項参照
- 2.下記のディレクトリ、ファイルを手動で作成
└─.devcontainer
devcontainer.json
Dockerfile
devconainer.json
{
"name": "Produire",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
},
"extensions": [
"utopiat.produirelang"
],
}
Dockerfile
FROM mono
RUN \
apt-get update && \
apt-get install unzip wget -y && \
rm -rf /var/lib/apt/lists/*
RUN wget -O produire.zip https://rdr.utopiat.net/files/mono//produire-mono-1.6.965.zip \
&& unzip 'produire.zip' -d /usr/bin
- 3.前項参照
- 4.
helloworld.rdr
を作成して、コーディングします。
「hello world!」を表示する
- 5.vscode内のterminalで実行します
$ mono /usr/bin/produire-mono/pconsole.exe helloworld.rdr
- 6.ディレクトリ構造です、業務用に使うことはなさそうですが教育用にいかがでしょうか、ただ、これに関してはパッケージマネージャとかもなく、ローカル環境にいろいろ入れ込むわけではないので、コンテナ上に構築する意味は薄そうです。
│ helloworld.rdr
│
└─.devcontainer
devcontainer.json
Dockerfile
-
C#(.NET Core)
→3.1(default)
、選択していく
$ dotnet new console
│ Program.cs
│ test-devcontainer-csharp-helloworld.csproj
│
├─.devcontainer
│ │ devcontainer.json
│ │ Dockerfile
│ │
│ └─library-scripts
│ azcli-debian.sh
│
├─.vscode
│ launch.json
│ tasks.json
- 1.前項参照
- 2.ほぼ前項と同じ
-
Ruby
→2.7
、選択していく
-
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
print "hello world!\n"
- 5.vscode内のterminalで実行します
$ ruby helloworld.rb
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.rb
│
└─.devcontainer
devcontainer.json
Dockerfile
⑦TypeScript
- 1.前項参照
- 2.ほぼ前項と同じ
-
Node.js & TypeScript
→ 14
、選択していく
- 3.前項参照
- 4.
helloworld.rb
を作成して、コーディングします。
console.log("hello world!");
- 5.vscode内のterminalで実行します
$ tsc helloworld.cs
$ node helloworld.js
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.js
│ helloworld.ts
│
└─.devcontainer
devcontainer.json
Dockerfile
⑧Java
- 1.前項参照
- 2.ほぼ前項と同じ
-
Java
→ 15
、選択していく
- 3.前項参照
- 4.
helloworld.java
を作成して、コーディングします。
public class helloworld{
public static void main(String[] args){
System.out.println("hello world!!");
}
}
- 5.vscode内のterminalで実行します
$ javac helloworld.java
$ java helloworld
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.class
│ helloworld.java
│
└─.devcontainer
devcontainer.json
Dockerfile
⑨Dart
- 1.前項参照
- 2.ほぼ前項と同じ
-
Dart
を選択していく
- 3.前項参照
- 4.
helloworld.dart
を作成して、コーディングします。
void main() {
print('hello world!');
}
- 5.vscode内のterminalで実行します
$ dart helloworld.dart
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.dart
│
└─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─library-scripts
common-debian.sh
⑩プロデル(笑)
- 1.前項参照
- 2.下記のディレクトリ、ファイルを手動で作成
└─.devcontainer
devcontainer.json
Dockerfile
devconainer.json
{
"name": "Produire",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
},
"extensions": [
"utopiat.produirelang"
],
}
Dockerfile
FROM mono
RUN \
apt-get update && \
apt-get install unzip wget -y && \
rm -rf /var/lib/apt/lists/*
RUN wget -O produire.zip https://rdr.utopiat.net/files/mono//produire-mono-1.6.965.zip \
&& unzip 'produire.zip' -d /usr/bin
- 3.前項参照
- 4.
helloworld.rdr
を作成して、コーディングします。
「hello world!」を表示する
- 5.vscode内のterminalで実行します
$ mono /usr/bin/produire-mono/pconsole.exe helloworld.rdr
- 6.ディレクトリ構造です、業務用に使うことはなさそうですが教育用にいかがでしょうか、ただ、これに関してはパッケージマネージャとかもなく、ローカル環境にいろいろ入れ込むわけではないので、コンテナ上に構築する意味は薄そうです。
│ helloworld.rdr
│
└─.devcontainer
devcontainer.json
Dockerfile
-
Node.js & TypeScript
→14
、選択していく
helloworld.rb
を作成して、コーディングします。console.log("hello world!");
$ tsc helloworld.cs
$ node helloworld.js
│ helloworld.js
│ helloworld.ts
│
└─.devcontainer
devcontainer.json
Dockerfile
- 1.前項参照
- 2.ほぼ前項と同じ
-
Java
→15
、選択していく
-
- 3.前項参照
- 4.
helloworld.java
を作成して、コーディングします。
public class helloworld{
public static void main(String[] args){
System.out.println("hello world!!");
}
}
- 5.vscode内のterminalで実行します
$ javac helloworld.java
$ java helloworld
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.class
│ helloworld.java
│
└─.devcontainer
devcontainer.json
Dockerfile
⑨Dart
- 1.前項参照
- 2.ほぼ前項と同じ
-
Dart
を選択していく
- 3.前項参照
- 4.
helloworld.dart
を作成して、コーディングします。
void main() {
print('hello world!');
}
- 5.vscode内のterminalで実行します
$ dart helloworld.dart
- 6.ディレクトリ構造です、余裕があればvscode内から実行&デバッグできるところまで、何れは記述しておきます。
│ helloworld.dart
│
└─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─library-scripts
common-debian.sh
⑩プロデル(笑)
- 1.前項参照
- 2.下記のディレクトリ、ファイルを手動で作成
└─.devcontainer
devcontainer.json
Dockerfile
devconainer.json
{
"name": "Produire",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
},
"extensions": [
"utopiat.produirelang"
],
}
Dockerfile
FROM mono
RUN \
apt-get update && \
apt-get install unzip wget -y && \
rm -rf /var/lib/apt/lists/*
RUN wget -O produire.zip https://rdr.utopiat.net/files/mono//produire-mono-1.6.965.zip \
&& unzip 'produire.zip' -d /usr/bin
- 3.前項参照
- 4.
helloworld.rdr
を作成して、コーディングします。
「hello world!」を表示する
- 5.vscode内のterminalで実行します
$ mono /usr/bin/produire-mono/pconsole.exe helloworld.rdr
- 6.ディレクトリ構造です、業務用に使うことはなさそうですが教育用にいかがでしょうか、ただ、これに関してはパッケージマネージャとかもなく、ローカル環境にいろいろ入れ込むわけではないので、コンテナ上に構築する意味は薄そうです。
│ helloworld.rdr
│
└─.devcontainer
devcontainer.json
Dockerfile
-
Dart
を選択していく
helloworld.dart
を作成して、コーディングします。void main() {
print('hello world!');
}
$ dart helloworld.dart
│ helloworld.dart
│
└─.devcontainer
│ devcontainer.json
│ Dockerfile
│
└─library-scripts
common-debian.sh
- 1.前項参照
- 2.下記のディレクトリ、ファイルを手動で作成
└─.devcontainer
devcontainer.json
Dockerfile
devconainer.json
{
"name": "Produire",
"build": {
"dockerfile": "Dockerfile",
"context": "..",
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
},
"extensions": [
"utopiat.produirelang"
],
}
Dockerfile
FROM mono
RUN \
apt-get update && \
apt-get install unzip wget -y && \
rm -rf /var/lib/apt/lists/*
RUN wget -O produire.zip https://rdr.utopiat.net/files/mono//produire-mono-1.6.965.zip \
&& unzip 'produire.zip' -d /usr/bin
- 3.前項参照
- 4.
helloworld.rdr
を作成して、コーディングします。
「hello world!」を表示する
- 5.vscode内のterminalで実行します
$ mono /usr/bin/produire-mono/pconsole.exe helloworld.rdr
- 6.ディレクトリ構造です、業務用に使うことはなさそうですが教育用にいかがでしょうか、ただ、これに関してはパッケージマネージャとかもなく、ローカル環境にいろいろ入れ込むわけではないので、コンテナ上に構築する意味は薄そうです。
│ helloworld.rdr
│
└─.devcontainer
devcontainer.json
Dockerfile
Author And Source
この問題について(VSCode, Remote-ContainerでHelloWorldを10言語やってみる), 我々は、より多くの情報をここで見つけました https://qiita.com/imasaaki/items/354720e23c095b74a406著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .