microsoft / microsoft/vscode-cpptools
Support Compiler of IAR extensions
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 6.2k
- Forks
- 1.7k
- Merge medio
- 14 h 46 min
- PR fusionados (30 d)
- 61
Descripción
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.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con los ejemplos de IAR del issue, incluido el uso de la palabra clave interrupt y la sintaxis de colocación de @, y revisa cómo la extensión gestiona las extensiones del compilador. Se considera terminado cuando el código de firmware de IAR se puede analizar sin diagnósticos para estas construcciones, sin requerir cambios en la biblioteca de firmware.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c, cpp
- Área
- compilers
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100