Skip to content

Provide Intellisense for C/C++ with the help of the GNU Global tool in Visual Studio Code

Notifications You must be signed in to change notification settings

LSDlites/code-gnu-global

 
 

Repository files navigation

README

C++ Intellisense

Please go to https://github.com/austin-----/code-gnu-global for source code, bug tracking, and feature request

Functionality

Provide Intellisense for C/C++ with the help of the GNU Global tool in Visual Studio Code.

Usage

  1. Make sure you have the latest GNU Global (>= 6.5) tool installed and added to PATH.

    Please note that Debian and its derivates (Ubuntu, Mint, ...) are shipping an outdated version of GNU global (v5.7), which is throwing the error "--encode-path unrecognized". (Thanks @badaix for the tip)

  2. In the workspace folder of your C/C++ project, run 'gtags'. This will generate the GTAGS, GRTAGS, and GPATH files. If you made changes to your code, run 'gtags' again to renew the tag files.

  3. Install 'C++ Intellisense' in VS Code and then you can enjoy Intellisense for this project in VS Code.

  4. If you are using Windows with a non-CP437 code page, or Linux/OSX with non-UTF8 encoding, please add 'codegnuglobal.encoding' to your settings.js (Preference - User Settings) and set its value to the custom encoding you are using (Please look at https://github.com/ashtuchkin/iconv-lite/wiki/Supported-Encodings for supported encodings).

    E.g.: (CP936 for Simplified Chinese on Windows)

    {
        'codegnuglobal.encoding': 'cp936'
    }
    

Demo

  • Go to definition

Go to definition

  • Auto completion

Auto completion

  • Find references

Find references

  • List symbols

List symbols

Limitations

Since GNU Global is a tagging system, it does not do any AST parsing to understand class members and etc.

For more information

Enjoy!

About

Provide Intellisense for C/C++ with the help of the GNU Global tool in Visual Studio Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 100.0%