21
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

HEWプロジェクトをVSCodeで扱う

Last updated at Posted at 2020-10-10

HEW使いづらい!!!!!

エディタが使いづらいです!!(個人差あり)
VSCodeでいじれるようにしましょう。
image.png

はじめに

この記事では3段階のステップをわかりやすくするために用語を定義しています。以下をご覧ください。

  • ホップ - 最初に1回行ってください。
  • ステップ - 各ワークスペース(.hwsがあるディレクトリ)ごとに1回行ってください。
  • ジャンプ - 各プロジェクト(.cがあるディレクトリ)に対して1回行ってください。

ホップ

最初に1回行ってください。

HEWのパスを通す

HEWがインストールされているディレクトリのパスを通してください。
(おそらくC:\Program Files (x86)\Renesas\Hew)
パスを通さなくても一応できますが、通すことをおすすめします。
パスの通し方は**こちら**をご覧ください

.vscodeディレクトリを作成する

  • C:\Workspace(HEWのワークスペース).vscodeディレクトリを作成する。
    ここに置く.vscodeは、実際に使う用ではなく、のちの各ワークスペースにコピーするためのものです。
    image.png

  • C:\Workspace\.vscodetasks.jsonsettings.jsonを置く

    • 以下に僕が頑張って定義したものをおいておきます。
      このとき、HEWディレクトリのパスを通していない場合tasks.json"command": "hmake",を、"command": "{HEWのインストールディレクトリ}\\hmake"へ変更してください。
      ("command": "C:\\Program Files (x86)\\Renesas\\Hew\\hmake")
      こちらからもどうぞ(GitHub Gist)
settings.json
{
    "files.encoding": "shiftjis",
    "C_Cpp.default.includePath": [
        "C:\\Program Files (x86)\\Renesas\\Hew\\Tools\\Renesas\\Sh\\9_4_3\\include",
        "${default}"
    ]
}
tasks.json
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "HEW: hmake build active file",
			"command": "hmake",
			"args": [
				"${fileBasenameNoExtension}_Debug.mak",
				"CONFIG=Debug"
			],
			"options": {
				"cwd": "${workspaceFolder}\\make"
			},
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"problemMatcher": {
				"owner": "cpp",
				"fileLocation": [
					"relative",
					"${workspaceFolder}\\make"
				],
				"pattern": {
					"regexp": "^(.*)\\((\\d+)\\) : (.*)$",
					"file": 1,
					"line": 2,
					"location": 2,
					"message": 3
				}
			}
		}
	]
}

ステップ

各ワークスペース(.hwsがあるディレクトリ)ごとに1回行ってください。

  • .vscodeディレクトリをコピー
    • C:\Workspace\.vscodeC:\Workspace\{ワークスペース名}\へコピーしてください。おわり。

ジャンプ

各プロジェクト(.cがあるディレクトリ)に対して1回行ってください。

  • HEWでMakeファイルを作る
    • 忘れがちです。各プロジェクトごとに行いましょう
      1. .hwsを開く
      2. VSCodeに移行したいプロジェクトをアクティブプロジェクトに設定する。(太字になっていればすでにアクティブプロジェクトに設定されています)
        image.png
    1. 「ビルド(B)->Makeファイルの作成(G)...」から、Makeファイルの作成
      image.png
      Makeファイル名はデフォルトから変えないでください($(PROJECTNAME)_$(CONFIGNAME).mak)。
      あとは画像のとおりに。
      image.png

ビルドする

すべての作業が完了したら、早速ビルドしてみましょう。
プロジェクトを開くには、ワークスペースのディレクトリ(C:\Workspaceではなく、.hwsがあるディレクトリのことです!)で、Code で開くを選択してください。もし右クリックしてCode で開くがなければ、VSCodeを起動して「ファイル(F)->フォルダーを開く...」でワークスペースのディレクトリを選択してもOKです。
image.png
「フォルダーを開く」の場合、下のフォルダー:WorkSpaceではなく、ワークスペース名になっていることを確認してください!(ここだとCMT)
image.png
左のファイル構成がこんな感じになってればOK
image.png
あとは、HEWでやったようにプロジェクト内のCを開いた後、Ctrl + Shift + Bでビルドできます!このときに変なメニューが出てくる場合は、以下のトラブルシューティングを御覧ください。
image.png
出来上がったやつはHEWでビルドしたときと全く同じものになるので、HTermなどでマイコンに転送してあげてください。
お疲れさまでした。

トラブルシューティング

ここによくやりがちなミスを列挙しておきます。

ヘッダファイル(machine.hなど)が認識されない

image.png

解決策

すみません、これは僕が作ったsettings.jsonに設定したincludePathが間違っているか古くなっています。
すべてのプロジェクトの.vscodeディレクトリにあるsettings.jsonのインクルードパスを更新してください。
大体はC:\Program Files (x86)\Renesas\Hew\Tools\Renesas\Sh\9_x_x\includeあたりになるはずです。
image.png

ビルド時に変なメニューが出る

image.png

解決策

.vscodeディレクトリがうまく構成されていません。ステップを御覧ください。

ビルド時にFILE ERROR: File not found

image.png

解決策

Makeファイルが作成されていないか、ファイル名が間違っています。ジャンプを御覧ください。

ビルド後コンパイラのエラーが邪魔

ビルド前:
image.png
ビルド後:
image.png

解決策

tasks.jsonには、コンパイラのエラーを検出する設定がされていますが、かえって邪魔でしたら"problemMatcher"ごと削除してください。

削除後:

tasks.json
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "HEW: hmake build active file",
			"command": "hmake",
			"args": [
				"${fileBasenameNoExtension}_Debug.mak",
				"CONFIG=Debug"
			],
			"options": {
				"cwd": "${workspaceFolder}\\make"
			},
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}
21
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?