Closed hriekehof closed 4 years ago
Hm, it might be an issue with the filename. Is a whitespace in it? Is the file part of the build (referenced in cmake)?
The file is part of the build yes. The filename has no whitespace in it.
Just to make sure. When i reset the C++ Integration by deleting the ipch
folders and restart VScode this message show sometimes up:
Do you want Microsoft C++ Extenstion to configure intellisense for project xxx
If i say "Allow" than this line is added to the settings.json in the .vscode folder for this CMake Project.
"C_Cpp.default.configurationProvider": "go2sh.cmake-integration"
But for other projects in my workspace i do not get this prompt. Sorry for beeing so unclear but i can't see a pattern there at the moment. I just want to know is this line in settings.json necessary for intellisense in order to work correctly ?
No, it can also be specified by the c_cpp_properties.json .
Do you have an example configuration or a short manual on how to setup intellisense correctly in a multiroot workspace setup ? Currently this is not working for me and i don't know what i'm doing wrong.
The Cmake-Tools work well when i just open a single project folder. At the moment i have both installed and just deactivated in workspaces where i want to test your extension. Can this be a problem ? Do i have to uninstall CMake-Tools to test yout extension ?
Yes, I would be better to uninstall CMake Tools. Both extension share some settings and moreover use the same build directory... I did no testing at all with both extensions. Since both supply values to the cmake api , it might clash.
Hi. I uninstalled CMake-Tools but it still keep getting this error message with CMake-Integration active:
Failed to create IntelliSense client. Can't create intellisense client for C:\src\xxxx\xxxx\src\aes3.hpp Failed to create IntelliSense client. Can't create intellisense client for C:\src\xxxx\xxxx\src\aes3.hpp
Sometimes it works sometimes not. I have no configuration in the Workspace-File. For single folders within the workspace my config looks like:
"cmake.cacheEntries": {
"CMAKE_MODULE_PATH": "c:/src/xxxx/utils",
"CMAKE_TOOLCHAIN_FILE": "c:/src/xxxx/utils/toolchain-M4F.cmake"
},
"C_Cpp.default.compilerPath": "${env:ARM-TOOLS}/bin/arm-none-eabi-g++.exe",
"C_Cpp.default.intelliSenseMode": "gcc-x64",
"C_Cpp.default.configurationProvider": "go2sh.cmake-integration"
I don't know what goes wrong so i just might wait a little while for the next release and then try again. But please keep the work up. Your extension is really great and i totally miss the multi root workspace feature in cmake-tools. But without intellisense C++ is a little too tough for me :)
Hey, there. Is it still a problem?
It seems to work now for me. You are the best 👍 Its not so important but i still get this error message from the CPP extension
but i can jump without any problem between header files etc.
Can you tell me the extension of the file?
ah sorry. Its .c or .h or .cpp or .hpp
Just as an addition. I often use includes like
#include <bla/blubb/header_with_underscore.hpp>
One more question. Is the header file outside of the cmake source folder (the folder with the base CMakeLists.txt)? There is no way to know for a multi workspace folder setup to know, to which project the file belongs to and thus the tag parser should be used.
Another idea is the case of the file name. Windows is case-insensitive, which makes quite some trouble.
Can you change the log level of the c++ extension and upload the log content, when you open the header file?
Yes the header files are in another CMake library Project, which is in the same workspace but has of course different paths. In my current project i have this quite often. I have a bigger Library project and then a few smaller projects which build executables. All smaller projects link to the bigger library and therefore need the headers.
Here is the Cpp-Tools log
In your log file is no reference to the message you are refering to, strange. Just the main.cpp
. It looks okay to me.
I can try to build some debug version of the extension to get more information about the requests cpptools are making to the cmake extension. There has to be something wrong and I would suspect the case of the path... Can you compare the case of the message, the case of the editor (hover the editor tab header) and the case you see in the explorer. Sometimes the names defer, if you get the file opened through a breakpoint.
I use the extension in the exact same way as you do, one big lib and several small executable projects. I have no problems with files not been found, but i saw some problems on my windows machine, but I'am not using it for active development. ;-)
PS: If you post a piece of log, put it in a code block. Preserves the newlines. ;-)
Ah ok sorry i didn't recognized that <details>
does not preserve the newlines. Next time :)
I basically use only lower case letters and underscores for all my path and file names. So in the logfile are lines like queue_update_intellisense for files in tu of: C:\SRC\xxx\xxx\xxx\SRC\MAIN.CPP
This is definitely wrong from the case. I replaced the real path with my project names with xxx :)
The real path would be c:\src\xxx\xxx\xxx\src\main.cpp
The funny thing is that strg + click
works for me and the headers are opened so VScode seems to know where the headers are. Somehow the CPP extension keeps throwing the error.
Ok, I'll add a settings flag to ignore the case in the cpptools lookup and add some logging functionality to see the requests.
Hey, i only wanted to add the following information. All the standard library headers work without problem. They don't geht the squiggle lines. But these are also outside the project root folder. It don't get why those work but other header files which are also outside the project root folder doesn't. Maybe this helps you too :)
I added the option to change to case insensitiv. Can you try that?
I tried but unfortunately its still not working. As far as i know, on windows the case for paths and filenames do not matter. On Unix/Linux they do. Since i'm working on windows at the moment there shouldn't be a problem when it comes to the case of filenames. I also checked again without the case sensitive option and both variants do not work.
I did setup a small project to test for these error. This project uses the Visual Studio 2017
generator instead of ninja. This is my settings.json
{
"C_Cpp.default.configurationProvider": "go2sh.cmake-integration",
"C_Cpp.loggingLevel": "Debug",
"cmake.generator": "Visual Studio 15 2017"
}
This is the C++ Extension log when i open a source file:
Custom configuration provider 'CMake Integration' registered
initialized
workspace/didChangeConfiguration
IntelliSense Engine = Default.
Autocomplete is enabled.
Enhanced Colorization is enabled.
Error squiggles are enabled if all header dependencies are resolved.
File exclude: **/.git
File exclude: **/.svn
File exclude: **/.hg
File exclude: **/CVS
File exclude: **/.DS_Store
File exclude: **/.vscode
Search exclude: **/node_modules
Search exclude: **/bower_components
Search exclude: **/.vscode
cpptools/queryCompilerDefaults: 1
Attempting to get defaults from compiler found on the machine: 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe'
Attempting to get defaults from compiler found on the machine: 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe'
cpptools/didChangeFolderSettings
Attempting to get defaults from compiler found on the machine: 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe'
Code browsing service initialized
Attempting to get defaults from compiler found on the machine: 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe'
Folder: C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/COMMUNITY/VC/TOOLS/MSVC/14.16.27023/INCLUDE/* will be indexed
Folder: C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/COMMUNITY/VC/TOOLS/MSVC/14.16.27023/ATLMFC/INCLUDE/* will be indexed
Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.17763.0/UM/ will be indexed
Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.17763.0/UCRT/ will be indexed
Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.17763.0/SHARED/ will be indexed
Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.17763.0/WINRT/ will be indexed
Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.17763.0/CPPWINRT/ will be indexed
Folder: C:/SRC/SOL-TESTING/COROUTINES/ will be indexed
Populate include completion cache.
cpptools/pauseParsing
Discovering files...
Processing folder (non-recursive): C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2017/COMMUNITY/VC/TOOLS/MSVC/14.16.27023/INCLUDE
Custom browse configuration received: {
"browsePath": [
"C:\\src\\sol-testing\\coroutines\\src",
"C:\\src\\sol-testing\\coroutines\\src\\lua53"
],
"standard": "c++98"
}
cpptools/didChangeCustomBrowseConfiguration
Folder: C:/SRC/SOL-TESTING/COROUTINES/SRC/ will be indexed
cpptools/resumeParsing
File discovery was aborted
Discovering files: 1 file(s) processed
Done discovering files.
Populate include completion cache.
Discovering files...
Processing folder (recursive): C:/SRC/SOL-TESTING/COROUTINES/SRC/
Discovering files: 72 file(s) processed
0 file(s) removed from database
Done discovering files.
Parsing remaining files...
Parsing: 0 files(s) processed
Done parsing remaining files.
cpptools/fileDeleted
cpptools/fileCreated
cpptools/fileCreated
cpptools/fileCreated
cpptools/fileCreated
cpptools/fileCreated
cpptools/fileCreated
cpptools/fileDeleted
cpptools/fileDeleted
cpptools/fileDeleted
cpptools/fileDeleted
cpptools/fileDeleted
Database safe to open
cpptools/activeDocumentChange
cpptools/textEditorSelectionChange
cpptools/textEditorSelectionChange
textDocument/documentSymbol: 2
cpptools/queryTranslationUnitSource: 3
textDocument/didOpen
idle loop: reparsing the active document
Checking for syntax errors: file:///c%3A/src/sol-testing/coroutines/src/co_phd.cpp
sending compilation args for C:\SRC\SOL-TESTING\COROUTINES\SRC\CO_PHD.CPP
include: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\COMMUNITY\VC\TOOLS\MSVC\14.16.27023\INCLUDE
include: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\COMMUNITY\VC\TOOLS\MSVC\14.16.27023\ATLMFC\INCLUDE
include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.17763.0\UM
include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.17763.0\UCRT
include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.17763.0\SHARED
include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.17763.0\WINRT
include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.17763.0\CPPWINRT
include: C:\SRC\SOL-TESTING\COROUTINES\SRC\LUA53
define: _DEBUG
define: UNICODE
define: _UNICODE
stdver: ms_c++latest
intelliSenseMode: msvc
queue_update_intellisense for files in tu of: C:\SRC\SOL-TESTING\COROUTINES\SRC\CO_PHD.CPP
errorSquiggles count: 0
Update IntelliSense time (sec): 1.714
I also still get this error message from cmake integration:
Again all intellisense seems to work in this project despite the error message. However, in other projects with the same error, the intellisense does not work in some cases. If i can check or provide something you need just let me know
The problem with the case is not windows, but the extension. I use a string map with file names for looking up source files for the cpptools extension. There are some other cases in VS Code where there is a mismatch between the case in the file name, which leads to bugs in VSCode (e.g. diagnostics) but Windows don't care. This is why I tried to do a dirty hack and unify all incoming strings to lower case to guarantee a match.
Maybe logging is required to debug this.
Can you try the new version v0.6.5. I fixed a very nasty bug with the c++ version. Are you using something like c++11 or higher?
oh great i will give it a try next week. i'm at a conference currently.
And yes i use "C_Cpp.default.cppStandard": "c++17",
Ok sadly its still not fully working and i still get the error lines. I found some information that hinted that the cpp extension from MS is not directly compatible with the arm-none-eabi-gcc
toolchain. https://gist.github.com/kbumsik/52ce3f41a62f2485c3da1a585674e550
Maybe it has something to do with that. I try to gather some more infos on this
hmm. It does not seem that the cpp-tools extension with the arm embedded toolchain is the problem. In the Debug output of the cpp-extension all includes and compiler defines are found and listed.
Just as another idea i recognized this:
Compiler in "compilerPath" property not found: 'undefined -march=armv7e-m -mthumb -mtune=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -nostartfiles -nodefaultlibs -ffunction-sections -fdata-sections -Xlinker --gc-sections -O2 -g -DNDEBUG -march=armv7e-m -mthumb -mtune=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -nostartfiles -nodefaultlibs -ffunction-sections -fdata-sections -Xlinker --gc-sections -std=gnu++17'
Attempting to get defaults from compiler found on the machine: 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe'
It seems that after the error that CMake Integration is unable to provide intellisense configuration
The cpp extension really uses the values defined in the default Win32
configuration. Then the intellisense is for sure not working.
Looking at the Debug output of the cpp extension i would say that all include paths are found and files are parsed. But after that something seems to go wrong.
I also discoverd this file:///c%3A/src/
in the debug output of the cpp extension. Is this the way the path should be displayed ? The human readable path would be c:/src/
Maybe this information helps you
just another error message i frequently see in the cpp extension log window:
Quick info operation failed: Error: Failed to find translation unit. Try opening a source file that includes this header, then re-open this header.
using Tag Parser for quick info
undefined
in the compiler path is bad. They use this to get some infos about the system includes (e.g. std lib). That could be your problem. I'll try to test it under windows. Can you post your toolchain file?
The thing with the path is okay since its an url the colon has to be encoded.
My Toolchain file consists of two parts:
file(TO_CMAKE_PATH $ENV{ARM_TOOLS} ARM_TOOLS)
if(WIN32) set(EXECUTABLE_SUFFIX .exe) endif() set(CMAKE_ASM_COMPILER "${ARM_TOOLS}/bin/arm-none-eabi-gcc${EXECUTABLE_SUFFIX}") set(CMAKE_C_COMPILER "${ARM_TOOLS}/bin/arm-none-eabi-gcc${EXECUTABLE_SUFFIX}") set(CMAKE_CXX_COMPILER "${ARM_TOOLS}/bin/arm-none-eabi-g++${EXECUTABLE_SUFFIX}") set(CMAKE_AR "${ARM_TOOLS}/bin/arm-none-eabi-ar${EXECUTABLE_SUFFIX}" CACHE FILEPATH "Archiver") set(CMAKE_RANLIB "${ARM_TOOLS}/bin/arm-none-eabi-ranlib${EXECUTABLE_SUFFIX}" CACHE FILEPATH "Ranlib") set(CMAKE_SIZE "${ARM_TOOLS}/bin/arm-none-eabi-size${EXECUTABLE_SUFFIX}" CACHE FILEPATH "Size")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
add_definitions(-DUSE_GIT_REVISION -Drtems -D_GLIBCXX_USE_C99=1 -DNAME_MAX=255 -D_XOPEN_SOURCE=700 -D_DEFAULT_SOURCE=1) add_definitions(-D_POSIX_TIMERS=1 -D_POSIX_MONOTONIC_CLOCK=1 -D_POSIX_CLOCK_SELECTION=1 -D_POSIX_MAX_INPUT=255 -D_POSIX_IPV6=200809L -D_POSIX_PATH_MAX=256)
set(CMAKE_ARM_FLAGS "-nostartfiles -nodefaultlibs -ffunction-sections -fdata-sections -Xlinker --gc-sections")
2. Arm core specific
set(CORE "M4F")
include(generic-gnu-arm)
set(CMAKE_COMMON_FLAGS "-march=armv7e-m -mthumb -mtune=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard") set(CMAKE_C_FLAGS "${CMAKE_COMMON_FLAGS} ${CMAKE_ARM_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_COMMON_FLAGS} ${CMAKE_ARM_FLAGS}") set(CMAKE_ASM_FLAGS "") set(DSP_COMPILE_FLAGS "-O3 -fno-exceptions -fno-rtti") set(DSP_LINKER_FLAGS ) add_definitions(-DLUA_32BITS -DCORE_M4 -D__FPU_PRESENT=1 ${CMAKE_COMMON_FLAGS} ${CMAKE_ARM_FLAGS})
The strange thing is, that the `Compiler in "compilerPath" property not found:` error is not always present. In some projects the compiler is arm-none-eabi compiler is found and everything is extracted but it does not reach the intellisense engine in cpp tools.
These are my workspace settings for cmake-integration and cpp tools:
"settings": {
"C_Cpp.default.configurationProvider": "go2sh.cmake-integration",
"C_Cpp.enhancedColorization": "Enabled",
"C_Cpp.formatting": "Default",
"C_Cpp.dimInactiveRegions": true,
"C_Cpp.intelliSenseEngineFallback": "Enabled",
"C_Cpp.default.compilerPath": "C:/ArmTools/gcc-arm-none-eabi-8-2019-q1-update-win32/bin/arm-none-eabi-g++.exe",
"C_Cpp.default.intelliSenseMode": "gcc-x64",
"C_Cpp.intelliSenseEngine": "Default",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.loggingLevel": "Debug",
"cmake.reconfigureOnChange": true,
"cmake.cmakeAPI": "File API",
"cmake.generator": "Ninja",
"cmake.extraGenerator": "Eclipse CDT4",
"cSpell.enabled": false,
},
Hi, good news. We are finally on track. 💯
When you use a toolchain file with set CMAKE_CXX_COMPILER
, like you do, the value doesn't get written into the CMakeCache. The extension is relying on the Cache to determinate the compilerPath. If you alter the toolchain file like this:
...
set(CMAKE_C_COMPILER "${ARM_TOOLS}/bin/arm-none-eabi-gcc${EXECUTABLE_SUFFIX}" CACHE FILEPATH "C Compiler")
set(CMAKE_CXX_COMPILER "${ARM_TOOLS}/bin/arm-none-eabi-g++${EXECUTABLE_SUFFIX}" CACHE FILEPATH "CXX Compiler")
...
It works. But the handling, if no compiler is found in the cache, is actually broken. I just saw, that they update the cpptools api to support multi workspace browsing configurations needed for the tag parser. Yay. So, I try to do both, fixing the the compiler path and adopting the new api. :)
Hi there, I finally got some time to work on it. It's a major refraction. But I'am almost there. See #48 .
I fixed some more stuff. Including the compiler detection. The api now reports if it has no compiler and the cpptools extension uses the default settings or the selected config. :D
Can't wait to try it :D If some upfront testing is helpful to you, you could me the extenstion via an vsix? I'm not familiar how to build vs code extensions from source :)
Yes, I'll upload a beta, this evening. The main work is done. I just want to add some options for the new workspace browse thingy.
There is also an effort in CMake to properly report the compiler via the file api. So maybe in some time soon(tm) it will all work out of the box. ;-)
BTW: To test the extension, do the following:
yarn
and then yarn watch
oh its that easy ? :) I'll do it right away tomorrow
Just to ask. I switched to the pull request #48 and build the extension with yarn
and yarn watch
When i open my workspace with the Extensione Development Host window i get the following errors from the extension:
CMake Error at C:/Program Files/CMake/share/cmake-3.14/Modules/CMakeDetermineSystem.cmake:99 (message):
Could not find toolchain file: /utils/gnu-M4F.cmake
Call Stack (most recent call first):
CMakeLists.txt:8 (project)
CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_ASM_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
When i use the 0.6.5 extension everything works fine. Do i have to change anything on the config files ? Ninja is available on the path on my system.
Sorry, I was ill for some time. Which var do you use for your toolchain? It seams it is not resolved properly, I changed some code regarding the variables.
This is how my cmake_configuration.json
looks like for projects.
"configurations": [
{
"name": "Debug",
"buildType": "Debug",
"toolchain": "${env:XXXX}/utils/gnu-M0.cmake",
"buildDirectory": "${env:XXXXX}/xxx/xxx/${buildType}",
"cacheEntries": [
{
"name": "CMAKE_MODULE_PATH",
"value": "${env:XXXXX}/utils",
"type": "PATH"
}
]
},
{
"name": "RelWithDebInfo",
"buildType": "RelWithDebInfo",
"toolchain": "${env:XXX}/utils/gnu-M0.cmake",
"buildDirectory": "${env:XXXXXX}/xxx/xxx/${buildType}",
"cacheEntries": [
{
"name": "CMAKE_MODULE_PATH",
"value": "${env:XXXX}/utils",
"type": "PATH"
}
]
}
]
}
In the workspace i have the following additional settings:
"C_Cpp.default.configurationProvider": "go2sh.cmake-integration",
"C_Cpp.enhancedColorization": "Enabled",
"C_Cpp.formatting": "Default",
"C_Cpp.dimInactiveRegions": true,
"C_Cpp.intelliSenseEngineFallback": "Enabled",
"C_Cpp.default.compilerPath": "C:/ArmTools/gcc-arm-none-eabi-8-2019-q1-update-win32/bin/arm-none-eabi-g++.exe",
"C_Cpp.default.intelliSenseMode": "gcc-x86",
"C_Cpp.intelliSenseEngine": "Default",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.loggingLevel": "Debug",
"cmake.reconfigureOnChange": true,
"cmake.cmakeAPI": "File API",
"cmake.generator": "Ninja",
"cmake.extraGenerator": "Eclipse CDT4",
i broke the variable replacement. I have fixed it. Hopefully I get everything done this weekend.
Hey, after quiet some time I'am done with the cpptools provider rewrite. Would you mind testing again? :)
In general it is now possible to provide additional information to the extension, which well be reported to the cpptools.
cmake.cpptools.compilerPath
cmake.cpptools.intelliSenseMode
cmake.cpptools.windowsSdkVersion
Try to set the compilerPath to your gcc executable and you should be fine. :)
I pulled and build the refactor_cpptools
branch. Unfortunately it still does not fully work.
I added cmake.cpptools.compilerPath
and cmake.cpptools.intelliSenseMode
to my workspace configuration file.
In the Cpptools debug output i see that for my project first the msvc
compiler is analyzed with all include paths and compiler defines. Then the WSL gcc
installation. And after that the arm-none-eabi-g++
compiler i defined with cmake.cpptools.compilerPath
.
Hope this helps :)
This is the debug output of the cmake-integration
window
activating extension
starting language server
(node:5816) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:5816) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Sync : Connected with user : 'hriekehof'
updateCustomBrowseConfiguration
Received an invalid browse configuration from configuration provider.
Falling back to last received browse configuration: {
"browsePath": []
}
provideCustomConfiguration
failed to provide configuration
updateCustomBrowseConfiguration
Received an invalid browse configuration from configuration provider.
Falling back to last received browse configuration: {
"browsePath": [
"C:\\src\\yyy\\zzz\\app\\src",
"C:\\build\\yyy\\zzz\\app\\RelWithDebInfo\\src",
"C:\\src\\yyy\\xxx",
"C:\\src\\yyy\\xxx\\lua",
"C:\\src\\yyy\\xxx\\periph",
"C:\\src\\yyy\\xxx\\arm",
"C:\\src\\yyy\\xxx\\xxx",
"C:\\src\\yyy\\xxx\\posix",
"C:\\src\\yyy\\xxx\\arch",
"C:\\src\\yyy",
"C:\\src\\yyy\\xxx\\lua\\lua53"
],
"compilerPath": "C:/ArmTools/gcc-arm-none-eabi-8-2019-q1-update-win32/bin/arm-none-eabi-g++.exe",
"compilerArgs": [
"-march=armv6-m",
"-mthumb",
"-mtune=cortex-m0",
"-nostartfiles",
"-nodefaultlibs",
"-ffunction-sections",
"-fdata-sections",
"-Xlinker",
"--gc-sections",
"-O2",
"-g",
"-DNDEBUG",
"-std=gnu++17"
],
"standard": "c++17",
"windowsSdkVersion": ""
}
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
[go2sh.cmake-integration-vscode] Accessing a window scoped configuration for a resource is not expected. To associate 'cmake.cmakePath' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
updateCustomBrowseConfiguration
rejected promise not handled within 1 second: TypeError: Cannot read property 'push' of undefined
stack trace: TypeError: Cannot read property 'push' of undefined
at ConfigurationProvider.<anonymous> (c:\src\cmake-integration-vscode\dist\extension.js:9738:38)
at Generator.next (<anonymous>)
at fulfilled (c:\src\cmake-integration-vscode\dist\extension.js:9526:58)
rejected promise not handled within 1 second: TypeError: Cannot read property 'push' of undefined
stack trace: TypeError: Cannot read property 'push' of undefined
at ConfigurationProvider.<anonymous> (c:\src\cmake-integration-vscode\dist\extension.js:9738:38)
at Generator.next (<anonymous>)
at fulfilled (c:\src\cmake-integration-vscode\dist\extension.js:9526:58)
Falling back to last received browse configuration: {
"browsePath": []
}
Configuration Provider timed out in {0}ms. 2000
Falling back to last received browse configuration: {
"browsePath": [
"C:\\src\\yyy\\zzz\\app\\src",
"C:\\build\\yyy\\zzz\\app\\RelWithDebInfo\\src",
"C:\\src\\yyy\\xxx",
"C:\\src\\yyy\\xxx\\lua",
"C:\\src\\yyy\\xxx\\periph",
"C:\\src\\yyy\\xxx\\arm",
"C:\\src\\yyy\\xxx\\xxx",
"C:\\src\\yyy\\xxx\\posix",
"C:\\src\\yyy\\xxx\\arch",
"C:\\src\\yyy",
"C:\\src\\yyy\\xxx\\lua\\lua53"
],
"compilerPath": "C:/ArmTools/gcc-arm-none-eabi-8-2019-q1-update-win32/bin/arm-none-eabi-g++.exe",
"compilerArgs": [
"-march=armv6-m",
"-mthumb",
"-mtune=cortex-m0",
"-nostartfiles",
"-nodefaultlibs",
"-ffunction-sections",
"-fdata-sections",
"-Xlinker",
"--gc-sections",
"-O2",
"-g",
"-DNDEBUG",
"-std=gnu++17"
],
"standard": "c++17",
"windowsSdkVersion": ""
}
Configuration Provider timed out in {0}ms. 2000
Timed out in 2000ms.
provideCustomConfiguration
failed to provide configuration
updateCustomBrowseConfiguration
DiagnosticCollection with name 'C/C++' does already exist.
Timed out in 2000ms.
Falling back to last received browse configuration: {
"browsePath": [
"C:\\src\\yyy\\zzz\\lib",
"C:\\src\\yyy",
"C:\\src\\yyy\\xxx",
"C:\\src\\yyy\\xxx\\posix",
"C:\\src\\yyy\\xxx\\arm",
"C:\\src\\yyy\\xxx\\lua\\lua53"
],
"compilerPath": "",
"compilerArgs": [
"-march=armv7e-m",
"-mthumb",
"-mtune=cortex-m4",
"-mfpu=fpv4-sp-d16",
"-mfloat-abi=hard",
"-nostartfiles",
"-nodefaultlibs",
"-ffunction-sections",
"-fdata-sections",
"-Xlinker",
"--gc-sections",
"-O2",
"-g",
"-DNDEBUG",
"-std=gnu++17"
],
"standard": "c++17",
"windowsSdkVersion": ""
}
Configuration Provider timed out in {0}ms. 2000
provideCustomConfiguration
Assertion failed
Assertion failed: console.assert
at didClose (file:///c:/Users/riekehof.SCHOEPS/.vscode/extensions/ms-vscode.cpptools-0.26.1/dist/main.js:41328:24)
at callback (file:///c:/Users/riekehof.SCHOEPS/.vscode/extensions/ms-vscode.cpptools-0.26.1/dist/main.js:3598:21)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:226)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:545:637)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at $acceptDocumentsAndEditorsDelta (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:549:876)
at _doInvokeHandler (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:646:284)
at _invokeHandler (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:645:998)
at _receiveRequest (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:644:663)
at _receiveOneMessage (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:643:476)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:641:753)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:187:273)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:798:103)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:187:273)
at _receiveMessage (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:191:628)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:188:823)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at acceptChunk (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:184:736)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:184:88)
at t (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:193:67)
at emit (events.js:200:12)
at addChunk (_stream_readable.js:294:11)
at readableAddChunk (_stream_readable.js:275:10)
at (anonymous) (_stream_readable.js:210:9)
at onStreamRead (internal/stream_base_commons.js:166:16)
Assertion failed: console.assert
at didClose (file:///c:/Users/riekehof.SCHOEPS/.vscode/extensions/ms-vscode.cpptools-0.26.1/dist/main.js:41328:24)
at callback (file:///c:/Users/riekehof.SCHOEPS/.vscode/extensions/ms-vscode.cpptools-0.26.1/dist/main.js:3598:21)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:226)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:545:637)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at $acceptDocumentsAndEditorsDelta (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:549:876)
at _doInvokeHandler (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:646:284)
at _invokeHandler (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:645:998)
at _receiveRequest (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:644:663)
at _receiveOneMessage (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:643:476)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:641:753)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:187:273)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:798:103)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:187:273)
at _receiveMessage (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:191:628)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:188:823)
at fire (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:47:206)
at acceptChunk (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:184:736)
at (anonymous) (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:184:88)
at t (file:///c:/Users/riekehof.SCHOEPS/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:193:67)
at emit (events.js:200:12)
at addChunk (_stream_readable.js:294:11)
at readableAddChunk (_stream_readable.js:275:10)
at (anonymous) (_stream_readable.js:210:9)
at onStreamRead (internal/stream_base_commons.js:166:16)
Assertion failed
failed to provide configuration
provideCustomConfiguration
failed to provide configuration
I guess, you've added a header file to your list of sources. CMake reports them with no language set, but only the server API. Nice corner case. :) I pushed an update.
Ah :) Yeah there is a special case where i need that.
It looks way better now. The squiggle lines are gone in most files. Sometimes however i get this error right now:
I've a guess. But I never saw that before. Do you have any steps to reproduce? I'll try to refractor the code a bit more to get rid of that message. But a reproducer for the tests would be nice.
I will try to do that but i think it has to do with something in my currently biggest project. In smaller configurations it works fine. Unfortunately i cannot share the code atm ...
But anyways it works way better now. Most of the squiggle lines are gone and i would like to see this in your next release. Maybe i'm the only one with this error
I think, I found the problem. How many files do you have in your project? I started to use standard detection based on the compiler output. For a lot of files this might take some time. But thats also a bug as it only needs to be done one time. 🙈 I'll push a fix to night and try to make a release. But I have to update the documentation and try to write some kind of release announcement, so that the new behavior gets recognized.
Currently there are approx. 1200 src/header files. C++/C stdlib headers not counted :) Anyway i'm very happy how it works right already 🥇
So I'am finally done. :)
New release is out. :fireworks:
Hi,
i just want to ask if someone else experiences this problem. For some project files in my workspace i get this error message:
Failed to create IntelliSense client. Can't create intellisense client for c:/xxx/xxx/xxx/xxx/xxx.cpp
The files with this error message from the C/C++ extension have all squiggly line under the include files. For most of the files in the project the intellisense works fine and i can't see a difference why other files work and a few not. I have one VSCode workspace with a few CMake project all in single folders added to the workspace. I am on Win10 Prof 64bit latest updates with VSCode latest and CMake-Integration 0.3.2
Thanks for any help in advance