導入
こんにちは、第二開発部のA.Nです。
C#開発ではVisualStudioを開発環境として使用することが多いと思いますが、
「調べても挙動がよくわからないメソッドを実際に実行して試したい」、「見つけたサンプルコードを実行したい」
などの軽いコーディングを行うためにVisualStudioを使用するのは、以下の点でハードルが高いように感じます。
2. プロジェクトを作成 (.netプラットフォームの選択、プロジェクト名を考える、など作業が多い)
3. コーディング
4. ビルド&実行
「もっとお手軽にC#を実行したい!」と思い、簡単に素早く実行を行える開発環境を作れるか実験してみたのでご紹介させていただきます。
※Windows環境を前提としています。
環境を考える
コーディング以外の作業はなるべく減らし、不要になったファイルの削除などの後処理もシンプルに なるような環境を目指しました。
自分が考えた環境は
1. ワンクリックでC#テンプレートを用意(batファイルを使用)
2. テンプレートを好きなエディタで開いてコーディング
3. ファイルをドラッグ&ドロップでビルド&実行(batファイルを使用)
という構成を考えました。
※ batファイルとは?
環境作成
C#のテンプレートファイルを作成するbatファイルを作成
@echo off set "filename=Sample.cs" echo using System; > %filename% echo using System.Collections.Generic; >> %filename% echo using System.Linq; >> %filename% echo using System.Text; >> %filename% echo using System.Threading.Tasks; >> %filename% echo. >> %filename% echo namespace HelloWorld >> %filename% echo { >> %filename% echo class Program >> %filename% echo { >> %filename% echo static void Main(string[] args) >> %filename% echo { >> %filename% echo Console.WriteLine("Hello, world!"); >> %filename% echo } >> %filename% echo } >> %filename% echo } >> %filename%
C#ファイルを投げるとコンパイル&実行してくれるbatファイル
※compilerPathにはcsc.exeのパスを指定してください。
csc.exe 場所などで検索すると調べられると思います。
※csc.exeとは?
@echo off chcp 65001 > nul REM コンパイラのパス set compilerPath=C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe REM コンパイル後の実行ファイル名 set compiledFile=YourCompiledFile.exe REM 引数の数が1でない場合はエラーメッセージを表示して終了 if not "%1"=="" ( set sourceFile=%1 ) else ( echo ソースコードファイルをドラッグアンドドロップしてください。 pause exit /b 1 ) REM コンパイル実行 %compilerPath% /out:%compiledFile% /nowarn:CS8300 %sourceFile% REM コンパイルが成功した場合 if %errorlevel% equ 0 ( echo コンパイルが成功しました。 REM コンパイルされた実行ファイルを実行 echo. echo. echo ------------実行結果------------ %compiledFile% del %compiledFile% ) else ( echo コンパイルが失敗しました。 ) REM バッチファイルの実行が完了したら一時停止 pause
実際に実行してみる
実際に試してみました。
- CreateCSFileTemplate.batを実行してSample.csを作成
- メモ帳でSample.csを開いてコーディング(vsCodeなどを使用するのが良いと思います)
- Sample.csをRunCSharpFile.batにドラッグ&ドロップでビルド&実行
- 必要なければSample.csをゴミ箱へ(Sample.cs以外は作られないので消すのはこれだけで大丈夫です。)
結構お手軽な気がします!
まとめ
一つのファイルに収まるようなコーディングであればかなりお手軽に実行できるようになったかなと感じます。
ただ「外部ライブラリを使用したコーディング」「GUIアプリケーションの作成」に関してはいろいろと手間が増えるのでVisualStudioを使うのが良いと思いました。
今回作成した環境がどれぐらい実用性のあるものになったかはわかりませんが、自分の環境をカスタマイズしていく作業は面白かったです。
これを機会に不満のあるところは改善できるようチャレンジしていきたいと思います。
補足
- csc.exe :
C# .net Frameworkのコンパイラになります。Vista以降のWindowsに標準でインストールされています。(dotnet.exeを使用すれば.netCore、 .net Frameworkどちらのコンパイルも可能になりますがいくつかオプションの指定が必要になります) - dotnet.exe :
C# .net 系全般のビルドツールになります。.netCore、.net Framework(Windows環境の場合のみ)のコンパイルができます。そのほか「パッケージの追加」や「プロジェクトの作成」など様々な機能があります。 - batファイル :
Windows環境で実行できるコマンドを記述したファイルのことです。linux系のシェルスクリプトと同じような役割です。
おわりに
KENTEMでは、様々な拠点でエンジニアを大募集しています!
建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。
https://hrmos.co/pages/kentem2211/jobs/A0008hrmos.co
hrmos.co
hrmos.co
hrmos.co
hrmos.co
https://hrmos.co/pages/kentem2211/jobs/A0012hrmos.co
hrmos.co
hrmos.co
hrmos.co