2019年08月27日

VScodeでいくつかのコンピュータ言語を同時に学習したい次第であります

やりたいこと
VScodeの左枠に
hage.c
hage.cpp
hage.py
hage.java
  と並べる。ファイルを選択してCtrl + Shift + 何かキー で実行できるようにしたい、
そういう機能がExtensionにある。Code Runnerである。うむ、素晴らしい・・・・
で、試したらc,c++, pythonはうまくいった。もっとも文字化けに関しては注意が必要だ。VScodeのEditorをutf8にしている、出力がTerminalであればcp932がデフォなので文字化けする。
そこで、chcp 65001 <—> chcp 932を叩いたり、叩いたり、叩いて。それで文字化けは解消した。
残ったのがJavaだ。javac というコンパイラは1.8.212とかなのでjava 8だと思うが、ソースファイルに日本語があるとコンパイルしないのだ。//のところでもだめだ。コメントに日本語があってもエラー出しやがる。一昨日、気づいた。一昨日からJava始めたので(笑)
で、対策はある。手動であれば、
> javac –encoding utf-8 hagehage.java 
というようにコード指定すればいい。
手動ではそうだが、Code Runnerではどうすんの? 

で、探すと解決策はあり。先人の努力に敬意を評す次第である。うむ。
https://qiita.com/chess/items/c07ff4767198fdddfde8

簡単言うと、settings.jsonに記述を追加すればいいらしい。

"code-runner.executorMap": {
"java": "cd $dir && javac -encoding UTF-8 $fileName && java -Dfile.encoding=UTF8 $fileNameWithoutExt"
}

上のサイトではそうやって動作したと。ところが俺んちではダメ。俺んち Win 10 1903。サイトの記事書いた人はMac----ちょ~お金持ちぃ!!
  だが、記述はjavacでencode指定しているし、それでコンパイルしてから && で実行させようって魂胆でしょ。
そこで俺んちではエラーで実行しなかった。次のようにしたら実行した。
"java": "cd $dir && javac -encoding UTF-8 $fileName && java $fileNameWithoutExt"

java optionがMaxとWin 10で違うのかい?  というような専門的な話は知らん。
とにかく、そうやったら実行した。それがオレにとっての解なのである。

以上により、c, c++, python, javaの記述の比較が簡単に実行によって確認ができるのである。うむうむ。ありがたや。ありがたや。鹿児島市にあるデパートは、やまがたや
                     ( すまんのぉ わらえやー)

で、VScodeのsettings.jsonを見るの2,3年ぶりか。様子が変わってラ (笑)

posted by toinohni at 13:40| 東京 ☁| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください