たいちょーの雑記

ぼくが3日に一度くらい雑記をかくところ

VSCodeの統合ターミナルをbashにしてiverilogしたい

VSCodeの統合ターミナルをbashにしてiverilogしたい

最近知ったんですがVSCodeに統合ターミナルが追加されたんですね。
terminal3
表示させるとヒョコッと下に出てきてIDE感が増します。
terminal4

しかしコイツ、Defaultではぼくの嫌いな cmd.exe が当てられているので、

_人人人人人人人人_
> なによこれ! <
 ̄Y^Y^Y^Y^Y^Y^Y ̄

と大声を出さざるをえないわけですが。

変えれるらしい

blog.kondoumh.com

win10でAnniversary Updateでbashをインストールしている人は、

    "terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\bash.exe",

と書くだけで、統合ターミナルがbashになります。

んじゃさっそく...

terminal5

い、
イヤッフォーウ!!!!

わぁぁぁぁぁぁぁい!!!!
terminal6
bashだぁぁぁぁぁぁぁ!!!
terminal7
わあああああああああああああああああああああああああああああ!!!!

ハァ・・・ハァ・・・

かなり普通にbashが使えるのでcmdとかcygwin立ち上げて~とか、面倒なこととはバイバイです。
ただ、↑キーでの履歴がみれない・・・?のでctrl-rをつかって履歴補完するといいです。

友人に借りているサーバーにもログインできました。
terminal8

本題

こんなところで記事が終わっては転載以外の何物でもなくなるので、続きを。

xztaityozx.hatenablog.com
この過去記事に書いた通り、iverilogがインストールされていればRunnerという拡張機能でソースから直接端末を開いてHDLをコンパイルできる。
marketplace.visualstudio.com
でもぼくのwinにはIcaros iverilogがインストールされていなかった、というよりbashの方だけインストールしてた。
何故かというと、

sudo apt-get -install iverilog

で終わるから。
インストーラー落として・・・I agreeとか押して・・・めんどいわ!!

だからbashの方使いたい。

直接Runnerにシェルスクリプトを与えてみる

おおかたやる前から「 無理でしょw 」とぼくの中の何かが訴えていましたが、

#!/bin/bash

iverilog $1
vvp a.out
rm a.out

こんなスクリプトを書きました。
これをRunnerに与えます。

"runner.languageMap": {
    "verilog":"C:/Users/***/Documents/GitHub/CPU/run.sh"
}

そしてCtrl-Shift-Rをそぉい!
terminal9
あ?あぁ・・・
普通にbash.exeを選んでOKを押したら。
terminal11
なんもでぇへん!!!!

まぁそうだろうなと思ってbatに切り替えていく。

正直batの書き方あんまりわかんないんでシンプルなものしか書けないんですけど、

bash -c "echo abc"

書いた時のぼく「いきなりiverilog通るわけないしとりあえずechoしとこw」

terminal11
ふえぇ・・・

どうやらこんなふうにbatからbashは起動できないみたいですね・・・・!

解決策は?

はい。色々調べたんですけどなかなか解決策が見つからなくて無限の沼に落ちていきました。
その間色々考えてたんですけど、

  • bashにしかないならともかくwin版もあるのに何やってんの?
  • Runnerに任せるならcmdとか関係なくない?
  • 解決策調べるよりbatの書き方ggってカッコイイbat書いた方がいいじゃん

つまり
http://snu.nm.land.to/documents/iverilog.htmlsnu.nm.land.to
インストールした。
そして

D:/iverilog/bin/iverilog.exe %1
D:/iverilog/bin/vvp.exe a.out
@echo off
del a.out

気の迷いでDドライブにインストールしちゃったけどパスちゃんと書いたら通ったのでok。

ggり力の低さを実感した一日でした。