Function pointer variables should be colorized as functions when they're called.

Abierto
#13,015 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
cpp, vscode
Área
tooling

Línea de trabajo

Reproduce el ejemplo en un archivo C o C++ e inspecciona cómo el analizador semántico gestiona las llamadas mediante punteros a funciones, utilizando como contexto los registros de diagnóstico y LSP enlazados. Se considera terminado cuando la variable llamada f y el miembro de estructura ptr reciben la misma coloración de función que func.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug Feature: Colorization Language Service Visual Studio
Environment
  • OS and Version: NixOS 24.11
  • VS Code Version: 1.94.2
  • C/C++ Extension Version: 1.22.2
  • If using SSH remote, specify OS of remote machine: N/A
Bug Summary and Steps to Reproduce

Bug Summary:
Executing a function call from a function pointer has mostly the same relevance as any normal function call; as such it should be colorized in a similar way.

Minimal example: Image
Note how the syntactic token type is easily detected thanks to the parentheses (and is identified as "entity.name.function.c" for the bare function pointer and as "entity.name.function.member.c" for the function pointer struct member), but the semantic analyzer ignores this particular property

Steps to reproduce:

  1. Define a function in a C or C++ file;
  2. Place the functions' address in a function pointer variable;
  3. Call the function from the variable.

Expected behavior:
In the above screenshot, the text f on line 11 and ptr on line 12 should be colorized as func on line 10 is (i.e. purple)

Configuration and Logs
No "c_cpp_properties.json" present
Diagnostic logs: https://pastebin.com/nRDFDEKL
LSP logs: https://pastebin.com/Z0iZDQ56
Other Extensions

No response

Additional context

No response

Lenguaje dominante
TypeScript
Estrellas
6.2k
Forks
1.7k
Merge medio
14 h 46 min
PR fusionados (30 d)
61

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/vscode-cpptools

Todos los issues de microsoft/vscode-cpptools

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.