microsoft / vscode-cpptools

Official repository for the Microsoft C/C++ extension for VS Code.
Other
5.51k stars 1.55k forks source link

Support Compiler of IAR extensions #7653

Open ChnTamap opened 3 years ago

ChnTamap commented 3 years ago

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.

sean-mcmanus commented 3 years ago

Keil extensions are being tracked by https://github.com/microsoft/vscode-cpptools/issues/3222, but we can use this issue to track IAR.

LostTime76 commented 2 months ago

Bump. Would be awesome to get this. My company is about to gear up with a lot of developers to use IAR + vscode...