Recent Posts

Pages: 1 2 [3] 4 5 6 7 8 ... 10
Plugins development / Re: Code completion using LSP and clangd
« Last post by ollydbg on Yesterday at 01:14:47 pm »
I see some error message comes from this function call, but I'm not sure why, this happens when I'm editing source file in the C::B editor.

int ProcessLanguageClient::ReadLSPinputLength()
// ----------------------------------------------------------------------------
    // this function is driven by readJson() via the thread in transport::loop()
    // and the incoming data is locked.
    // thread was started in constructor and called from readJason() after locking the buffer

    // "Content-Length: <digits>\r\n\r\n"

    if (Has_LSPServerProcess() and m_std_LSP_IncomingStr.length())
        // search for LSP header
        size_t hdrPosn = m_std_LSP_IncomingStr.find("Content-Length: ");
        if (hdrPosn == std::string::npos)
            return wxNOT_FOUND;
        else //have incoming text
            if (hdrPosn != 0)   // verify LSP header is at beginning of buffer
                // Error: header is not at beginning of buffer. Try to fix it.
                // usually caused by clangd invalid utf8 sequence
                wxString msg(wxString::Format("ERROR:%s(): buffLength (%d): Position of content header %d.\n",
                             __FUNCTION__, int(m_std_LSP_IncomingStr.length()), int(hdrPosn)) );
                msg += "Buffer contents written to client log.";
                #if defined(cb_DEBUG)
                    wxSafeShowMessage("Input Buffer error",msg);
                msg += "LSP_IncomingStrBuf:\n" + m_std_LSP_IncomingStr + "\n";
                // adjust the data buf to get clangd header at buff beginning
                m_std_LSP_IncomingStr = m_std_LSP_IncomingStr.substr(hdrPosn);

I just enabled the log file, and see the log message(in C:\Users\[myusername]\AppData\Local\Temp\CBclangd_client-1332.log

And the content of the log file are:

19:45:09.758 ERROR:ReadLSPinputLength(): buffLength (549): Position of content header 112.
Buffer contents written to client log.LSP_IncomingStrBuf:
":{"newText":"wxConvAuto($0)","range":{"end":{"character":16,"line":94},"start":{"character":12,"line":94}}}}]}}Content-Length: 414

{"jsonrpc":"2.0","method":"textDocument/publishDiagnostics","params":{"diagnostics":[{"category":"Parse Issue","code":"expected_unqualified_id","codeActions":[],"message":"Expected unqualified-id","range":{"end":{"character":14,"line":97},"start":{"character":12,"line":97}},"relatedInformation":[],"severity":1,"source":"clang"}],"uri":"file:///F:/test/Config.cpp","version":1}}
Plugins development / Re: Code completion using LSP and clangd
« Last post by ollydbg on Yesterday at 12:32:16 pm »
I see there are many pch files in the folder such as:


I think those files is created by clangd, and are there any way to automatically delete them when exit C::B?


clangd writes too much disk : CPP-19402

This discussion looks like the pch can keep in "memory". :)
Development / Re: event sequence question?
« Last post by AndrewCot on Yesterday at 10:32:01 am »
I was looking at the header guard and the other plugins by same author last night and they were not included because they can cause bad side affects if not used/configured correctly. As such these are probably not the best to use as a template.

Headerguard info:    URL info:    Problem:  The Header Guard plugin is included in Code::Blocks' source code (src/plugins/headerguard/), however, it is not built by default to prevent unexpected behavior.
It would probably be better to do one f the following:1) Create the cbplugin via the project file and leave it up toe the dev to manually install it2) Create the plugin in the devel directory but mod the profess so it does not copy the files to the output directory so it does not get released, but can be used when running he C::B as a debugee.3) Do both options 1 and 2
I am inclined to think option 3 would benefit the developers the most.
Development / Re: event sequence question?
« Last post by Miguel Gimenez on Yesterday at 09:40:24 am »
I read somewhere that this plugin should be treated like the headerguard, i.e. a core plugin not added to the main project. I think this is the better solution, this way you can install it if needed but it will never go in the nightly/release.
Development / Re: event sequence question?
« Last post by Miguel Gimenez on January 16, 2022, 06:38:19 pm »
You know better the build system than me. The only constraint is the plugin should not be in the nightly/release, because plugins activate automatically and this would waste time without any benefit for users.
Development / Re: event sequence question?
« Last post by killerbot on January 16, 2022, 05:58:56 pm »
displayevents is in plugins (so not in contrib) which is ok, but I think it better acts as the other plugins then, meaning it does not have its own cbp files, but integrates directly in the CodeBlocks_wx<...>.cbp

What do you think ?
Long time ago, the plugin zip file is only created by the update script. (method A)

Several years ago, some developers are adding the zip command to the cbp files, so once the project is built, the zip file get created. (Method B)

I prefer Method B.   :)

Because for a plugin developer, it should prepare the dll and the zip file for its own plugin.
Nightly builds / Re: The 31 December 2021 build (12618) is out.
« Last post by ollydbg on January 16, 2022, 02:05:40 pm »
Hi, cyuyan.

I think only the official C::B release files were hosted in Fosshub.
While the nightly builds files were only hosted in Sourceforge.

I looked at the tuna's issues, and there is no way to automatically rsync with the SourceForge files.

So, the only way currently is to manually download the nightly builds files and upload to other sites.  :(
Development / Re: event sequence question?
« Last post by killerbot on January 16, 2022, 01:22:40 pm »
The display events plugin loads using the cbp attached to the post above. I now have the Linux workspace building in about 6 minutes instead of 189 after changing the -wall to -w as there are a HUGE number of warning that slow the build down due to the amount of text that needs to be processed due to the warnings.

I think the better solution, is to fix those warnings, and worst case pragma them out.

Note : for gcc, certain include paths can be silenced easily (eg wx) instead of -I<include_path> ==> -isystem<include_path>
That way we can focus on out own code and ignore the ones beyond out control.
Nightly builds / Re: The 31 December 2021 build (12618) is out.
« Last post by cyuyan on January 16, 2022, 12:51:51 pm »
I can't open the download link:,
I am in china. Please help me, thanks!

Maybe, I can setup a mirror download site/folder in China. Which site did you think is good for file sharing in China?

I have received the following reply from tsinghua Mirror station:
You can go to to create image requests.

We note that codeblocks are distributed through Fosshub and SourceForge, for which we have no synchronization tools and need to negotiate with Fosshub (see Fosshub ToS), You can refer to for the latter.

If Codeblocks directly provides the rsync service, mirroring is more convenient.
Pages: 1 2 [3] 4 5 6 7 8 ... 10