microsoft / microsoft/vscode-cpptools
Support Compiler of IAR extensions
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 6.2k
- フォーク
- 1.7k
- 平均マージ
- 14時間 46分
- マージ済み PR(30日)
- 61
説明
Type: Feature Request
Hello! I‘m a vscode user.
Sorry to submit a new issue be similar to existing issues. I use GNU Arm Embedded toolchain before, It works very well on vscode with C++ Intellisense("intelliSenseMode": "gcc-arm", "compilerPath": "xxx/gcc-arm-none-eabi.exe"). Recently, I use vscode as the editor of IAR to develop arm program. And I found that vscode does not support some keywords of ICC(IAR-CC ARM).
define symbol
There are some symbols that can cheat the compiler by defines, such as bit in MCS51:
xxx.c:
bit a = 0;
c_cpp_properties.json:
"defines": [
"bit=bool"
],
other keyword
But there are some keyword that still report errors, such as interrupt in MCS51 or @ in IAR :
static rt_device_t xxx_dev @ ".ccmram";
void Timer_isr(void) interrupt 1
{
//...
}
This code means to define the variable in ".ccmram" area, and define a function for timer interrupt.
user code
I can define a macro #define NVIC(n) interrupt n if __VSCODE__ is not defined. But this only applies to user code, I shouldn't have to modify the firmware library code.
Of course, this doesn't affect programming, and I don't know how does compiler support work. So it's just a suggestion.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Issue にある IAR の例から始め、interrupt キーワードと @ の配置構文を含めて、コンパイラ拡張を extension がどのように扱っているかを確認します。これらの構文について診断を出さずに IAR ファームウェアコードをパースでき、ファームウェアライブラリの変更を必要としなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c, cpp
- 領域
- compilers
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100