Visual Studio Development Bookmark and Share   
 index > Visual Studio Extensibility > C++ language service replacing only intellisense
 

C++ language service replacing only intellisense

Hi

Is it possible to write C++ language service for VS 2005, which would replace only C++ default intellisense and keep everything else (for example syntax coloring) unchanged ?
Klesk  Thursday, October 15, 2009 9:23 AM
Unfortunately, this is not possible. The intellisense support is responsible for both the colorization and autocompletion functionality. Currently, language services are not architected to have extensibility points in them. It's pretty much an all or nothing thing. If you need to modify the autocompetion support, you have to replace the entire service.

Note, this is not a trivial operation. The language service is very tightly integrated with the project system, which in turn has to compile the project to provide symbols, macro expansion etc, along with the ability to chase down referenced headers and libraries.

With VS 2010 there are some new editor extensions that I believe will allow for this sort of thing. But for VS 2005/VS2008, it's not possible.

To clarify Chao's earlier response (something I do not recommend). I believe the FEACP.DLL is a specialized version of the front end of the VC++ compiler, responsible for building the projects .NCB file, which in turn is what the VC++ intellisense service uses to resolve the various types and definitions in the project sources.

Sincerely,
Ed Dore
Ed Dore  Friday, October 16, 2009 4:16 PM
Hello, Klesk
May be this is possible for C++ language service developers. We could disable the C++ intellisense by renaming or deleting the feacp.dll in the <VS root path>\VC\vcpackages\ loaction.
So the best way is to develop our own intellisence is create our own feacp.dll, but we don't know how to create it. There is no document on this
Thanks
Chao
Chao Kuo  Friday, October 16, 2009 6:51 AM
Unfortunately, this is not possible. The intellisense support is responsible for both the colorization and autocompletion functionality. Currently, language services are not architected to have extensibility points in them. It's pretty much an all or nothing thing. If you need to modify the autocompetion support, you have to replace the entire service.

Note, this is not a trivial operation. The language service is very tightly integrated with the project system, which in turn has to compile the project to provide symbols, macro expansion etc, along with the ability to chase down referenced headers and libraries.

With VS 2010 there are some new editor extensions that I believe will allow for this sort of thing. But for VS 2005/VS2008, it's not possible.

To clarify Chao's earlier response (something I do not recommend). I believe the FEACP.DLL is a specialized version of the front end of the VC++ compiler, responsible for building the projects .NCB file, which in turn is what the VC++ intellisense service uses to resolve the various types and definitions in the project sources.

Sincerely,
Ed Dore
Ed Dore  Friday, October 16, 2009 4:16 PM

You can use google to search for other answers

Custom Search

More Threads

• My custom Project
• How to make text in new OutputWinowPane act as hyperlink?
• MSIL - Grammar
• ToolBoxService - How to get Host ?
• Removing/hiding project node context menu items
• Doubt in database(sql/oracle) access from shell
• Trapping the F5 menu command
• "Add as link" in custom project
• Changing Colors Inside Visual Studio....
• The icon for new tool window doesn't appear in VS 2005 on some computers