C/C++ support for Visual Studio Code is provided by a Microsoft C/C++ extension to enable cross-platform C and C++ development using VS Code on Windows, Linux, and macOS. The extension is still in preview and our focus is code editing, navigation, and debugging support for C and C++ code everywhere that VS Code runs.
Active1 year ago
Can someone help me because l have no idea how to install extensions from the Market Place on visual studio 2017
Lex Li44.5k77 gold badges8282 silver badges107107 bronze badges
Ignatius Michael ChiteweIgnatius Michael Chitewe
closed as too broad by Ken White, Anton Semenov, Lex Li, rene, C-Pound GuruJun 29 '17 at 18:34
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
1 Answer
Visual Studio 2017 for Mac is actually a different beast from Visual Studio for Windows. As you may know, it is originally based on Xamarin Studio which on its turn is an extended form of MonoDevelop.
C++ Visual Studio For Mac
Simply put, the extensions you'll find in the Visual Studio Marketplaceare not compatible with Visual Studio 2017 for Mac.
VS2017 for Mac does have its own marketplace, which is accessible from the Extension Manager. You can access it from inside the IDE through:
Visual Studio menu > Extensions
Visual Studio menu > Extensions
In the Extension Manager, you'll find a pretty small list of available extensions. But a neat trick is to look at the source of the repositories, which is simply the old MonoDevelop catalog http://addins.monodevelop.com/
Wrapping it up, you can add third party extension url's or install community packages through a file, but basically put there is not a lot more that you can get with the same experience and broad offering like the 'regular' Marketplace.
JuliënJuliën4,56933 gold badges3434 silver badges6060 bronze badges
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Not the answer you're looking for? Browse other questions tagged c#visual-studio-mac or ask your own question.
Active1 month ago
I've begun using VSC for my embedded C projects with gcc for ARM on a Mac. Having set up include paths in
c_cpp_properties.json
, most of my #includes
are now working. However, a line such as this:produces a red squiggly underline and the error:
The source file in question includes stdint:
and the
includePath
includes:and:
(the only other option being
msvc-x64
).The codebase compiles just fine when I use make and gcc. How do I show the C/C++ extension where
uint32_t
is?Edit:
stdint.h
looks like this:and
stdint-gcc.h
contains:This suggests
__UINT32_TYPE__
is NOT defined when VSC is parsing my code, but it IS defined when I build with make and gcc.To install Visual Studio 2017 for Mac, see Visual Studio 2017 Downloads. For information about everything that's new in this release, see the Visual Studio for Mac 2017 release notes. See also Visual Studio 2017 for Mac Platform Targeting and Compatibility. For detailed information on system requirements for various deployment scenarios, and for information on integration with Microsoft Office and Microsoft SharePoint, see Visual Studio Team Foundation Server Requirements and Compatibility. Visual studio for mac requirements.
Edit:
Following @mbmcavoy's answer I'm including my
c_cpp_properties.json
file here:Edit:
On digging deeper, I found that
Gama11gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/include/stdint.h
had __STDC_HOSTED__
defined and therefore stdint-gcc.h
was not actually being included. Instead, that header does an 'include_next <stdint.h>
', which finds gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/stdint.h
. I still can't see where unint32_t is defined, either for gcc and make or for VSC.15.6k66 gold badges3333 silver badges5353 bronze badges
EliotEliot1,17722 gold badges1414 silver badges3737 bronze badges
2 Answers
After trying all of the proposed solutions to no effect, I consider the uint32_t issue to be a bug.
To solve the annoying warnings in VSCode, just add the following line after your #include section:
By doing this once in a single file, it fixes my VSCode warnings and still compiles.
wscourge5,41588 gold badges2929 silver badges5353 bronze badges
gekartgekart
I have been able to resolve this on my machine (Windows), with three steps:
- Applying Compiler Defines to the C/C++ Extension
Visual Studio Community For Mac
The question is correct when it states 'This suggests
__UINT32_TYPE__
is NOT defined when VSC is parsing my code, but it IS defined when I build with make and gcc.' The ARM cross-compiler has many built-in defines that are not included in the clang-x64 parser.First, find out defines your gcc compiler defines, with the
-dM -E
options. On Windows I was able to dump the output to a file with echo | arm-none-eabi-gcc -dM -E - > gcc-defines.txt
Second, add the defines to your
c_cpp_properties.json
file. Note that where the #define sets a value, you need to use an =
sign here. (You could probably just add individual defines as you need them, but I used Excel to format them as needed and sort. The first defines are for my project, matching the defines in my Makefile.)- Setting the Symbol Database
After doing a few experiments with individual defines, I could see the define as being processed in
stdint-gcc.h
Hallmark card studio for mac. , any uses of the types still produced errors. I realized in my c_cpp_properties.json
file that I had 'databaseFilename': '
This is used for the 'generated symbol database', but was not configured properly. I set it to:- Restart Visual Studio Code
![Studio Studio](/uploads/1/2/4/8/124808076/120382011.png)
After quitting and restarting Visual Studio Code, declarations do not result in the error, and when hovering over a variable, it shows the appropriate type.
mbmcavoymbmcavoy1,81144 gold badges1717 silver badges3232 bronze badges