CCSC Helper for VS Code (Preview 0.2.x)
[!IMPORTANT]
日本語のみ / Preview 版
機能は安定開発中です。不具合報告歓迎。
CCSC コンパイラ向けの Build / Program (旧 Flash) / IntelliSense / サイドバー UI を提供する VS Code 拡張機能です。拡張機能 ID: mkyt.vscode-extension-for-ccsc
。
主な機能
この拡張機能は現在以下を提供します(0.2.x Preview 新機能含む)。
CCSCプロジェクトの自動認識
- ワークスペース内に
.ccspjt
ファイルが存在する場合、自動的にCCSCプロジェクトとして認識し、必要な設定を有効化します。
IntelliSenseの強化
- 型定義の自動追加: CCSCコンパイラ特有の型(
int8
, boolean
, BYTE
など)をIntelliSenseに自動で定義します。これにより、標準のC言語にはない型に起因する多くの誤ったエラー表示を抑制します。
- インクルードパスの自動設定: CCSCの
Devices
および Drivers
フォルダへのインクルードパスを自動的に設定し、デバイスヘッダファイル(例: 18F67J94.h
)や標準ドライバライブラリが正しく認識されるようにします。
- コンパイラ種別の判定: プロジェクトファイル (
.ccspjt
) を解析し、使用されているコンパイラ(PCH
または PCM
)を特定。__PCH__=1
のような定義を自動で追加し、コンパイラに応じたIntelliSenseを提供します。
CCSC Panel (Activity Bar)
- 独自アイコン「CCSC Helper」を追加し Webview パネル表示。
- Active Project / Build / Program / Build & Program ボタン。
- Project Config:
.ccspjt
の Processor_Text
/ 出力ディレクトリ (output=
) を GUI から直接編集(ヘッダ #include <...>
も自動更新)。
- Program Settings: Programmer (PICkit5, PICkit4 等) / Voltage(3.3V, 5.0V) 即時切替。環境問題 (toolPath 未設定, ipecmd.jar 不足, Java 実行不可) をステータス表示し Program ボタンを自動無効化。
- Memory Usage (ROM/RAM %) と最後の HEX パスを表示。
ビルド機能
.ccspjt
情報を用い ccscompile.exe
実行。
build.hexOutputDir
が空なら .ccspjt
の [Directories]
内 output=
を自動使用(無ければプロジェクト直下)。
- 生成 HEX のコピー / ROM & RAM 使用量パース / 不要ファイル削除。
Program(書き込み / 旧 Flash 表記) ※MPLAB X IPE + プログラマー + (Java) 必要
- IPECMD (ipecmd.jar) 呼び出し。Programmer / Voltage 設定反映。
- Build 後そのまま Program する Build & Program。
シンタックスハイライト
#use
, #fuses
等 CCSC 固有ディレクティブをカラー表示。
必須要件
- Visual Studio Code
- C/C++ 拡張機能 (Microsoft提供)
- CCSC (PIC C Compiler)
- CCS C Compiler for PIC Microcontrollers
- 注意: CCSC のインストールパスは設定
ccscHelper.ccscInstallPath
で変更できます。(既定値は C:\Program Files (x86)\PICC
)
- MPLAB X IPE (Flash機能を使用する場合)
- MPLAB IPE (Integrated Programming Environment) が含まれている必要があります
- 対応バージョン: MPLAB X IDE v5.0以降推奨
- インストールパス例:
C:\Program Files\Microchip\MPLABX\v6.20\
- Java Runtime Environment (JRE) 8以降 (Flash機能を使用する場合)
- Flash機能を使用する場合に必要: MPLAB IPECMDはJavaベースのアプリケーション(ipecmd.jar)のため、Javaのインストールが必要です。
- 注意:
java
コマンドがPATH環境変数に含まれていない場合は、設定 ccscHelper.flash.javaPath
でJavaの実行パスを指定してください。
追加要件(推奨)
- PICプログラマー (Flash機能を使用する場合)
- PICkit 5, PICkit 4, PICkit 3, MPLAB Snap, ICD4, ICD3, Real ICE等
- 対象PICデバイスに対応したプログラマーが必要
使い方
- プロジェクトを開く:
.ccspjt
ファイルを含むフォルダをVS Codeで開きます。
- 自動設定: 拡張機能がプロジェクトを自動で認識し、IntelliSenseの設定を行います。
- CCSC Panel: Activity Bar の「CCSC Helper」を開き GUI から Build/Program。
- ビルド:
Ctrl+Shift+B
> Build CCSC Project
でも可。
- Program 前提チェック: Panel の Program Settings > Status が
OK
になるよう flash.toolPath
等を設定。
- IntelliSense: 自動適用。必要なら C/C++ 拡張の構成で再選択可能。
Panel セクション概要
セクション |
内容 |
Active Project |
プロジェクト選択 / Build / Program / Build & Program |
Project Config |
PIC (Processor_Text ) & 出力 output= ディレクトリ編集 |
Program Settings |
Programmer / Voltage 切替 + 環境診断 |
Memory Usage |
最新 ROM / RAM 使用率 |
HEX |
最後に生成/コピーした HEX パス |
設定
以下の設定を settings.json
または VS Code の設定画面で変更できます:
基本設定
ccscHelper.ccscInstallPath
: CCSC のインストールパス(既定値: C:\Program Files (x86)\PICC
)
ccscHelper.compilerOptions
: ccscompile.exe
に渡すコンパイルオプション(既定値: +FH +Ex
)
ビルド設定
ccscHelper.build.deleteUnnecessaryFiles
: ビルド終了後に削除する不要ファイル(既定値: ["pc$.err"]
)
ccscHelper.build.hexOutputDir
: HEX コピー先。空の場合は .ccspjt
の output=
を自動使用(無い場合はプロジェクト直下)。
Program(書き込み)設定 ※設定キー名は互換性のため flash.*
ccscHelper.flash.enabled
: Flash機能を有効にする(既定値: true
)
ccscHelper.flash.useJava
: JavaベースのIPECMD(ipecmd.jar)を使用する(既定値: true
)
ccscHelper.flash.javaPath
: Javaの実行パス(既定値: java
)
ccscHelper.flash.toolPath
: MPLAB IPEのパス(既定値: ipecmd.jarがあるディレクトリ)
ccscHelper.flash.deviceId
: PICデバイスID(既定値: 18F67J94
)
ccscHelper.Program.programmer
: プログラマーの種類(既定値: PK5
)
- 選択肢:
PK5
, PK4
, PK3
, SNAP
, ICD4
, ICD3
, REALICE
, SIMULATOR
ccscHelper.flash.voltage
: プログラミング電圧(既定値: 3.3
)
ccscHelper.flash.extraArgs
: 追加引数(既定値: -M
)
IntelliSense設定
ccscHelper.intellisense.enabled
: IntelliSense機能を有効にする(既定値: true
)
ccscHelper.intellisense.standard
: C言語標準(既定値: c99
)
ccscHelper.intellisense.mode
: IntelliSenseモード(既定値: windows-clang-x86
)
ccscHelper.intellisense.compilerArgs
: コンパイラ引数(警告抑制など)
ccscHelper.intellisense.standardDefines
: 標準的な定義
ccscHelper.intellisense.modeDefines
: コンパイルモード別定義
ccscHelper.intellisense.compilerArguments
: IntelliSenseコンパイラ引数
ccscHelper.intellisense.customDefines
: 独自定義
ccscHelper.intellisense.customIncludePaths
: 独自インクルードパス
Live Linting設定
ccscHelper.liveLinting.enabled
: Live Linting機能を有効にする(既定値: false
)
ccscHelper.liveLinting.delay
: ファイル保存後の待機時間(既定値: 500
ms)
ccscHelper.liveLinting.errorPattern
: 正規表現パターン
エラー解析設定
ccscHelper.errorAnalysis.errorPattern
: エラー解析用正規表現
ccscHelper.errorAnalysis.warningPattern
: 警告解析用正規表現
MPLAB環境での設定例
{
"ccscHelper.flash.enabled": true,
"ccscHelper.flash.useJava": true,
"ccscHelper.flash.javaPath": "java",
"ccscHelper.flash.toolPath": "C:\\Program Files\\Microchip\\MPLABX\\v6.20\\mplab_platform\\mplab_ipe",
"ccscHelper.flash.deviceId": "18F67J94",
"ccscHelper.Program.programmer": "PK5",
"ccscHelper.flash.voltage": "3.3",
"ccscHelper.flash.extraArgs": "-M"
}
生成されるコマンド例
# Program のみの場合
cd "C:\Program Files\Microchip\MPLABX\v6.20\mplab_platform\mplab_ipe"
java -jar ipecmd.jar -P18F67J94 -TPPK5 -W3.3 -F"C:\Code\main.hex" -M
# Build & Program の場合(ビルド後に書き込み)
cd "C:\Code\MyProject"
"C:\Program Files (x86)\PICC\ccscompile.exe" +FH +Ex main.c
cd "C:\Program Files\Microchip\MPLABX\v6.20\mplab_platform\mplab_ipe"
java -jar ipecmd.jar -P18F67J94 -TPPK5 -W3.3 -F"C:\Code\MyProject\main.hex" -M
トラブルシューティング
Java環境の問題
Program 機能(旧 Flash)で Java が見つからないエラーが発生した場合:
Java(JRE 8以降)がインストールされているか確認
- コマンドプロンプトで
java -version
を実行
- バージョン情報が表示されればJavaはインストール済み
VSCodeでJavaが認識されない場合
VSCode設定から ccscHelper.flash.javaPath
を開く
Javaの絶対パスを指定:
C:\Program Files\Java\jre1.8.0_XXX\bin\java.exe
または、Java実行可能ファイルの完全パスを指定:
C:\Program Files\Eclipse Adoptium\jdk-11.0.XX-hotspot\bin\java.exe
一般的なJavaインストールパス
C:\Program Files\Java\jre1.8.0_XXX\bin\java.exe
C:\Program Files\Java\jdk-XX.X.X\bin\java.exe
C:\Program Files\Eclipse Adoptium\jdk-XX.X.X-hotspot\bin\java.exe
C:\Program Files\Microsoft\jdk-XX.X.X\bin\java.exe
環境変数PATHにJavaを追加する場合
- システムの環境変数設定を開く
- PATH変数に
C:\Program Files\Java\jre1.8.0_XXX\bin
を追加
- VSCodeを再起動
MPLAB X IDEのパス設定 (Program)
MPLAB X IDEのバージョンが異なる場合は、ccscHelper.flash.toolPath
設定を適切なパスに変更してください:
C:\Program Files\Microchip\MPLABX\v6.XX\mplab_platform\mplab_ipe
MPLAB X IDEが見つからない場合 (Program)
MPLAB X IDEがインストールされているか確認
- Microchip公式サイトからダウンロード・インストール
- MPLAB IPE (Integrated Programming Environment) も含まれていることを確認
インストールパスの確認
- 標準インストールパス:
C:\Program Files\Microchip\MPLABX\
- ipecmd.jarの場所:
C:\Program Files\Microchip\MPLABX\v6.XX\mplab_platform\mplab_ipe\ipecmd.jar
プログラマーの接続確認
- PICkit等のプログラマーがPCに正しく接続されているか
- デバイスドライバーが正しくインストールされているか
注意事項
- 拡張機能の設定
ccsc-helper.ccscInstallPath
で CCSC のインストールパスを変更できます。
- IntelliSenseは多くのCCSC固有の構文をサポートしますが、一部の特殊なディレクティブやインラインアセンブリなど、解釈できない場合があります。
リリースノート / 変更履歴
詳細は CHANGELOG.md
を参照。
0.2.x Preview ハイライト
- 新: CCSC Panel (サイドバー)
- 新: PIC / 出力ディレクトリ GUI 編集
- 新: Program Settings (Programmer / Voltage 切替 & 環境診断 + 自動無効化)
- 改:
hexOutputDir
空時に .ccspjt output=
自動利用
- 改: メモリ / HEX ライブ表示
- 改: ステータスバー + Panel の統合運用