HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0912
こいるHSPを、VSCodeでF5で実行したい5解決


こいる

リンク

2020/9/12(Sat) 17:45:05|NO.91345

エディタをVSCode(Visual Studio Code)に乗り換えたいのですが、コードの実行でつまずいています。。。


まず、検索で一番目についた下のページを参考にして、
"VSCode で HSP3 の開発環境を作る [2019年末] - Qiita"
https://qiita.com/vain0x/items/1c0be49b3b22142dbfd1

デバッグ実行の拡張機能「vain0x.hsp3-debug-window-adapter 」をインストールし、
HSPのインストールディレクトリを設定したのですが、
いざF5を押すと、以下のような内容のダイアログが出て実行ができませんでした。

[Window Title] Visual Studio Code [Content] コンパイルエラーが発生しました。 #Error 12 -->�����G���[���������܂���(12) [launch.json を開く] [キャンセル]
HSPのエラー12は、"ファイルが見つからないか無効な名前です"らしいですが、
ファイル操作は一切していないですし、
一応、新しくアーカイブ版HSP3.51をダウンロードして、
インストールディレクトに設定してF5を押してみましたが、変わらず実行できませんでした。


なので、次は下のページを参考にし、
"hspcをHSPプログラミングコンテスト2017に応募しました。 - ほのぼのとまったりアプリ開発日誌"
https://honobonopoo.hatenablog.jp/entry/2017/09/13/172519

hspcを導入し、"tasks.json"を作成して、
一応実行はできたのですが、
いちいち、"Ctrl+Shift+B"の3つのキーを押さなければいけなく、面倒です。


標準エディタのように、F5で一発で実行できるのが理想なのですが、どうすればできるのでしょうか?
よろしくお願いします。



この記事に返信する


とあるプログラマ

リンク

2020/9/12(Sat) 23:52:10|NO.91349

VS Codeで現在使用できるHSP3の言語環境はvani0xさんが作っている「HSP3 構文定義/HSP3 デバッグ」とほのぼのさんが作っている「language-hsp3」の2つがあります。

自分が使っているのがlanguage-hsp3のほうなので、そちらで解説させていただきます。


【インストール】
1-1)VS Code左部の拡張機能の欄の[Marketplace で拡張機能を検索する]から「hsp3」と入力します。

1-2)一覧に language-hsp3 が出てくると思うのでそれをインストールします。(ちなみに language-hsp3-ex や language-hsp3-constant をインストールすればWin32APIや定数もハイライト可能です)

【設定】
2-1)左下の歯車マークから設定を開きます。

2-2)上部に[設定の検索]があるので「hsp3」と入力します。

3-3)すると一覧に Language-hsp3: と書かれた設定項目が出るので、そこから Language-hsp3: Compiler を見つけてそこに hsp3c.exe または hspcmp.exe の完全パスを入力します。
   (以下はhsp3c.exeを指定したとして説明します)

3-4)設定が正しく行われていればこれでHSP3のスクリプトを開いた状態でF5を押せばデバッグが起動すると思います。


―― 以下 UTF-8でコードを記述する場合の設定 ――

【設定 (Json)】
4-1)Ctrl+Shift+P を押してコマンドパレットを開きます。

4-2)「Json」と入力すれば[基本設定: 設定 (JSON) を開く]が出てくるのでクリックします。

4-3)一覧に以下の項目を追加します。

"language-hsp3.runCommands": [ "-Crdwi", "%FILEPATH%" ],

注意:JSONの言語仕様上コンマを項目と項目の間に入れなければなりません。足りてなければリンカーが勝手にエラー出してくれるので、それを見れば大丈夫だと思います。

引数の説明:
 詳しい内容はhspc同梱の説明に書かれていますが、UTF-8を指定する i 引数を渡しています。
本来は自動的にSJisとUTF-8は判別してくれるらしいのですが、当方の環境ですとなぜかSJisとして認識されてしまうので引数で強制的にUTF-8を指示しています。問題があればこの部分を消して元に戻してみてください。


当然ですがUTF-8でコードを描く必要があります。右下に現在の文字コードがあるので文字化けするようでしたら確認してください。(UTF-8は1バイト文字はSJisと互換あるのでコード中に日本語等がなければ特に問題はないと思いますが)



こいる

リンク

2020/9/13(Sun) 13:48:27|NO.91359

とあるプログラマさん、ありがとうございます。

「language-hsp3」をインストールし、
設定 Language-hsp3: Compiler は、
導入しておいた「hspc.exe」のパスが、デフォルトで設定されていたので、
そのままにした状態で試してみました。

HSPファイルを開き、F5を押してみたのですが、
「環境の選択」というのが出て、実行できませんでした。。。
(他のHSP関連の拡張機能はアンインストールしてあります)

一応、右上の「Run HSP Program」を押すか、Ctrl+Kを押してからF5を押せば実行はできたのですが、
どちらも納得がいきません。

どうすれば、「F5で一発」で実行できるのでしょうか?
お願いします。



とあるプログラマ

リンク

2020/9/13(Sun) 14:41:16|NO.91360

もしかしたらキーが干渉してるか正しく設定されてないかもしれません。

左下の歯車から[キーボードショートカット]を開いて検索欄に「F5」と入力してください。
すると一覧にF5を使うキーが出てくるので、「hsp: Run HSP program」以外のF5単体のキーを変更するか削除してみてください。

もしF5と入力しても「hsp: Run HSP program」が現れない場合は、「hsp:」と検索すれば出てくるので それをF5に設定してみてください。
ちなみに「hsp: Automatic exe file creation」はHSEDの ctrl+F9 と同じ機能です。


当方の環境は色々設定をいじくりまわしてるので、もしかすれば状況が違っているかもしれません。
他に何か質問がありましたら再度お尋ねください。



法貴優雅

リンク

2020/9/13(Sun) 15:23:54|NO.91361

私も今、VisualStudioCodeを紹介されているURLを見ながらインストールしてみました。
vain0x.hsp3-debug-window-adapterをインストールしてhspのフォルダを設定して
実行を行い動作することを確認しました(hsp3utfをインクルードしてないですが)

またF5で一発動作させるのには、「ファイル」メニューから「フォルダーを開く」を選択し
ソースフォルダを開き、その後「実行」メニューにある「構成の追加」で
「hsp3-debug-window-adapter」を選択してlaunch.jsonを開いたら
そのまま閉じます、その後はF5で一発で起動するようになりました。



こいる

リンク

2020/9/13(Sun) 21:06:37|NO.91365

>とあるプログラマさん
コマンド「デバッグ: デバッグの実行」のキーバインドを、「Ctrl+K+F5」から「F5」に変更すると、
見事、F5一発で実行できるようになりました!

本当にありがとうございます!


>法貴優雅さん
同じようにしてみましたが、
変わらず、エラーダイアログが出て実行できませんでした。


これにて解決とします。
ありがとうございました。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.91345への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2018(c) All rights reserved.