Commit C ++ Intellisense clause with space in VS 2013

I recently studied C ++ after using C # for an exceptionally long time. I am using Visual Studio 2013, and one thing that makes me dying is the inability to complete an Intellisense sentence by pressing the space bar. I tried changing the list of commit characters in Options -> Text Editor -> C / C ++ -> Advanced to accept a space, but so far I'm out of luck. Coming from C #, this greatly aggravates the situation. Does anyone know if such a change is possible? I know that I can use Tab or Enter, but, in my opinion, using Space is much more fluid.

Any information would be greatly appreciated.

UPDATE: The space seems to contain some suggestions, but not others. if I type "std :: stri", it commits to "std :: string". Unfortunately, Intellisense will not do anything created by me or even regular keywords. It just adds a space after what I have already typed.

+7
c ++ visual-studio visual-studio-2013 intellisense
source share
1 answer

In addition to my comment on your question, I installed a trial version of Visual Studio 2013 (Ultimate) and I can confirm that the space works to complete IntelliSense suggestions. Combining all the comments, it seems to work in the following versions:

  • VS 2010
  • VS 2012
  • VS 2013

Here is a screenshot of my IntelliSense settings located in Tools > Options > Text Editor > C/C++ > Advanced :

IntelliSense settings

As a last resort, you can try changing all your settings to standard ones, as indicated in this answer :

Tools > Import and Export Settings > Reset all settings

UPDATE . After reading JoshC's comments, I experimented a bit more and I have a problem too. This seems to be related to whether the element you are trying to autocomplete is a member of a type or namespace. If this is (e.g. std::string ) then space will work. If this is not (for example, void ) then this will not work (but for some reason the tab will work). According to this link , you can manually call the "Participant List" function by pressing CTRL + J, and in this case on an empty line it will include elements that are in the global namespace, however this is clearly not a practical solution.

I have no idea why he distinguishes between space and tab in this way. If anyone knows of a workaround, please let me know and I will edit this answer again.

The following would seem to mean that there is no solution for C ++:

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2656132-support-committed-by-pressing-the-space-bar-in-c

When using Visual Studios 2012 for coding in C ++, how do you autofill code in IntelliSense? (see comments)

+3
source share

All Articles