Environment
- OS and Version: Windows 10
- VS Code Version: Latest
- C/C++ Extension Version: Latest
- If using SSH remote, specify OS of remote machine:
Bug Summary and Steps to Reproduce
Bug Summary:
I am not sure if this is a bug or intended, but would be a shame if this is intended.
I am investigating using "computed includes" within our project and vscode ctrl+click does not seem to be working on them. The extension properly resolves the defines and the test source file compiles successfully. However, if I try to go directly to an included header file, directly by using ctrl + click, it is inoperable.
Side note. Ctrl + click seems to also not be working on an absolute path.
The power of computed includes comes from being able to use #defines within includes. We want a slight variation that uses directories instead, but the whole slew does not seem to be working.
Steps to reproduce:
- Define test.c with a computed include using a macro (which expands a directory), a 'normal' computed include that uses a computed include directly from a define, an absolute path include, and something that works such as #include <stdint.h>.
- Define c_cpp_properties and add the relevant defies to be used in expansion.
- Try to ctrl + click or go to definition on all of the computed includes and or the include of an absolute path and watch as they do not seem to work but ctrl + click on stdint.h does.
Expected behavior:
The extension properly expands the macros to the correct paths. Ctrl + click should work on the expanded macro used within a define. Ctrl + click should also work on absolute paths.
Note in my examples I am on windows and very explicitly defining all of my paths with forward slash '/', not backslash so that I can be portable. Windows accepts either, but unix only accepts forward slash for path separators.
test.c

c_cpp_properties

macro expand STR(THE_DIR/test.h)

macro expand TEST_H

- Ctrl click / go to definition does not work on lines 1, 3, 5
- Ctrl click / go to definition works on line 7
- Greyed out is my user name
- Compiled test.c using clang, which works successfully
Configuration and Logs
{
"version": 4,
"configurations": [
{
"name": "test",
"cStandard": "c23",
"intelliSenseMode": "clang-arm",
"defines": [
"XSTR(x)=#x",
"STR(x)=XSTR(x)",
"THE_DIR=C:/Users/.../Desktop/New folder",
"TEST_H=\"C:/Users/.../Desktop/New folder/test.h\""
]
}
]
}
replace '...' with my user name
Other Extensions
No response
Additional context
No response
Environment
Bug Summary and Steps to Reproduce
Bug Summary:
I am not sure if this is a bug or intended, but would be a shame if this is intended.
I am investigating using "computed includes" within our project and vscode ctrl+click does not seem to be working on them. The extension properly resolves the defines and the test source file compiles successfully. However, if I try to go directly to an included header file, directly by using ctrl + click, it is inoperable.
Side note. Ctrl + click seems to also not be working on an absolute path.
The power of computed includes comes from being able to use #defines within includes. We want a slight variation that uses directories instead, but the whole slew does not seem to be working.
Steps to reproduce:
Expected behavior:
The extension properly expands the macros to the correct paths. Ctrl + click should work on the expanded macro used within a define. Ctrl + click should also work on absolute paths.
Note in my examples I am on windows and very explicitly defining all of my paths with forward slash '/', not backslash so that I can be portable. Windows accepts either, but unix only accepts forward slash for path separators.
test.c

c_cpp_properties

macro expand STR(THE_DIR/test.h)

macro expand TEST_H

Configuration and Logs
{ "version": 4, "configurations": [ { "name": "test", "cStandard": "c23", "intelliSenseMode": "clang-arm", "defines": [ "XSTR(x)=#x", "STR(x)=XSTR(x)", "THE_DIR=C:/Users/.../Desktop/New folder", "TEST_H=\"C:/Users/.../Desktop/New folder/test.h\"" ] } ] }replace '...' with my user name
Other Extensions
No response
Additional context
No response