出版社サイトからC++の例題をdownload。圧縮ファイルを解凍して場所は適当に移動して、folderA というところにC++ source fileをたくさん置いたとしませう。
VScodeでFolderAを開く。左サイドにfileがズラズラと出る。先頭のファイルをクリックしてエディター画面に出す。右クリックして出るメニューからRun Codeとやるとビルドして実行だ。あら、動いた、じゃ終わり!!
というような敬虔なクリック教徒のワタクシが今日はさんざん悩んで苦しんで、もーもーゲロゲロ・・・ ウソ。
Run Codeで動くようになったのはいつからか忘れた。以前はCtrl + Shift + b と叩いていた。数年前だな。するとtasks.jsonが現れた。エディター画面にtasks.jsonが出てきて、まーそれは既に動作しているFolderのtasks.jsonをコピペした気がする。
とりあえず、Ctrl + Shift + b でビルド実行したのだった。そして、ワタクシはいつの頃からかCtrl + Shift + b は使わずに右クリックから Run Codeをクリックしてビルド実行する派になったのであーーーる。
ワタクシは出力はOUTPUTではなくTerminalに設定している。そして、先日、PowerShellの問題に気づいた。PowerShellはutf-8のファイルを認識できず、shift-jisとして処理するとか。utf-8もBOM付きであれば良いらしい。
実は、この話とVScodeのTerminalでの文字化けが重なってワタクシはコンガラガッチャンなのであった。
cout << “こにちわあ!” << endl ;
これがTerminalで文字化けしたのである。なんでや。数週間前は正常だったで。。。なんでや。
そうか、先日、PowerShellをPS7にしたのだったな、そのせいか?
いや、違う。Folderによっては正常なのだ。なぜだ。なじぇ?
で、Terminalで文字化けする例題は Folder直下のトップに、[.vscode]というFolderがないのだった。上のFolderAには[.vscode]がなかったのだ。なんでだ。知るかよ。
ワタクシはFolderAを開いていつものように右クリックから Run Codeやったら動いたので、おお、うごいた・・・ で放置。
どうしてFolderAに[.vscode]が出来なかったのか。数年前であればCtrl + Shift + b 叩くとtasks.jsonが出てきた。まずは設定しなくては・・・・だ。ところが、いつの頃からか右クリックのRun Codeでビルド実行しますようになってしまっていた次第である。
ここらはExtensionの何が効いているのかワシャ知らん。
とにかく、VScodeは久しぶりに使うと・・・あらら、なんか変わってんでーこいつ・・・というのがあったりする。
とりあえず、FolderAに[.vscode]は作った。MenuのTerminal/Configure Default Build Taskだ。それでtasks.jsonが出てきて、[.vscode]も出来たぞ。一歩前進だーーーーー。
だが、文字化けは出る。PS7では文字化けする。Terminalで文字化けは chcp 65001にすると解決する場合も以前はあったが、効かない。
しかし、文字化けしないFolderもある。なので、ワタクシはsettings.json, tasks.jsonなどを比較してだね、まあコピペし、あれこれし、なにやらやっていたら正常になったのである。
結果としてPowerShell 7.1.4でTerminalの文字化けはない。ソースファイルは utf-8 である。
ただ、srttings.json, tasks.json のどこの記述が効いたのかはわかりませぬ(´・ω・`)
ここでの文字化けはVScode Terminalに対する指令というか設定というか、そこらが効いているのだろう。
Win 10 PowerShell 7のプロンプト・ウィンドウで手動で g++ hagehage.cppとかやって試したら文字化けしたのだった。chcp 65001にしても 932にしても文字化けた。
ここらはどうなっているのか知らないが、ワタクシはそういう使い方はしないので放置。
ちなみにDOS窓だと chcp 65001 の場合には文字化けしない。
VScodeのTerminalはPowerShell 7.1.4 がデフォーであるぞ。
これで本格的に本来のProgramの検討・学習に入れるのであーーーる(テキトー)