[GH-ISSUE #43] Intellisense #27

Closed
opened 2026-05-05 03:34:43 -06:00 by gitea-mirror · 6 comments
Owner

Originally created by @ScSofts on GitHub (Sep 14, 2021).
Original GitHub issue: https://github.com/ultimatepp/ultimatepp/issues/43

Can we improve the intellisense of TheIDE by using clangd ?
Moreover , I hope it can pop the code completion window when I type.

Originally created by @ScSofts on GitHub (Sep 14, 2021). Original GitHub issue: https://github.com/ultimatepp/ultimatepp/issues/43 Can we improve the intellisense of TheIDE by using [clangd](https://clangd.llvm.org/) ? Moreover , I hope it can pop the code completion window when I type.
Author
Owner

@ScSofts commented on GitHub (Sep 14, 2021):

Including auto error detect may make it more attractive。

<!-- gh-comment-id:919305091 --> @ScSofts commented on GitHub (Sep 14, 2021): Including auto error detect may make it more attractive。
Author
Owner

@klugier commented on GitHub (Sep 15, 2021):

@ScSofts I totally agree moving towards clangd instead of custom Intellisense will have many benefits to us. The first one is maintenance code - the c++ code is evolving very rapidly. New standards are introduced within 3 years period. On the other hand, at the moment we do not support all latest language features for example concepts.

However, this change will require significant amount of work. Right now, we do not have enough workforce. Any contribution are welcome - even prototyped one that can be further adapted. @mirek-fidler & Oblvion any thought on this?

<!-- gh-comment-id:919997491 --> @klugier commented on GitHub (Sep 15, 2021): @ScSofts I totally agree moving towards clangd instead of custom Intellisense will have many benefits to us. The first one is maintenance code - the c++ code is evolving very rapidly. New standards are introduced within 3 years period. On the other hand, at the moment we do not support all latest language features for example concepts. However, this change will require significant amount of work. Right now, we do not have enough workforce. Any contribution are welcome - even prototyped one that can be further adapted. @mirek-fidler & Oblvion any thought on this?
Author
Owner

@mirek-fidler commented on GitHub (Sep 15, 2021):

I support Zbigniew opinion in general.

The only questions I have is whether clangd is able to provide all the
functions of current system (e.g. Jump to definition and Navigator
features, also what about speed?) - for that reason I would not be in hurry
removing current parser from the U++ codebase - upgrading and fixing it is
still viable option too.

Another issue I see is that we will need clangd distributed with Win32
releases too.

That said, I have not gone deep into clangd and ASTs yet, but MAYBE we can
make normal clang work for us here too. That would be good in case clangd
is not compatible with our build procedure or is not fast enough.

Mirek

On Wed, Sep 15, 2021 at 3:01 PM Zbigniew Rębacz @.***>
wrote:

@ScSofts https://github.com/ScSofts I totally agree moving towards
clangd instead of custom Intellisense will have many benefits to us. The
first one is maintenance code - the c++ code is evolving very rapidly. New
standards are introduced within 3 years period. On the other hand, at the
moment we do not support all latest language features for example concepts.

However, this change will require significant amount of work. Right now,
we do not have enough workforce. Any contribution are welcome - even
prototyped one that can be further adapted. @mirek-fidler
https://github.com/mirek-fidler & Oblvion any thought on this?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ultimatepp/ultimatepp/issues/43#issuecomment-919997491,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARH2374PAOU5IM5UFFTLTTUCCKLHANCNFSM5EAMBQXQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

<!-- gh-comment-id:920091949 --> @mirek-fidler commented on GitHub (Sep 15, 2021): I support Zbigniew opinion in general. The only questions I have is whether clangd is able to provide all the functions of current system (e.g. Jump to definition and Navigator features, also what about speed?) - for that reason I would not be in hurry removing current parser from the U++ codebase - upgrading and fixing it is still viable option too. Another issue I see is that we will need clangd distributed with Win32 releases too. That said, I have not gone deep into clangd and ASTs yet, but MAYBE we can make normal clang work for us here too. That would be good in case clangd is not compatible with our build procedure or is not fast enough. Mirek On Wed, Sep 15, 2021 at 3:01 PM Zbigniew Rębacz ***@***.***> wrote: > @ScSofts <https://github.com/ScSofts> I totally agree moving towards > clangd instead of custom Intellisense will have many benefits to us. The > first one is maintenance code - the c++ code is evolving very rapidly. New > standards are introduced within 3 years period. On the other hand, at the > moment we do not support all latest language features for example concepts. > > However, this change will require significant amount of work. Right now, > we do not have enough workforce. Any contribution are welcome - even > prototyped one that can be further adapted. @mirek-fidler > <https://github.com/mirek-fidler> & Oblvion any thought on this? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/ultimatepp/ultimatepp/issues/43#issuecomment-919997491>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AARH2374PAOU5IM5UFFTLTTUCCKLHANCNFSM5EAMBQXQ> > . > Triage notifications on the go with GitHub Mobile for iOS > <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> > or Android > <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>. > >
Author
Owner

@sdbtools commented on GitHub (Sep 16, 2021):

I use clangd (actually, ccls language server) with U++ for several years.
I use it from vim. This works very well for me.
Opening of a project takes about 10-15 sec on a 8 core (16 threads) CPU.
Navigation is much better than in TheIDE.
Language server spends ~1-2 sec. recompiling a file on each save operation.
I'd recommend to take a look at tree-sitter, which is an incremental parsing library.
Both, language server and tree-sitter are built into a new version of vim called neovim, which I recommend to use as a reference example.
We can also move this discussion to a U++ forum.

<!-- gh-comment-id:920588706 --> @sdbtools commented on GitHub (Sep 16, 2021): I use clangd (actually, ccls language server) with U++ for several years. I use it from vim. This works very well for me. Opening of a project takes about 10-15 sec on a 8 core (16 threads) CPU. Navigation is much better than in TheIDE. Language server spends ~1-2 sec. recompiling a file on each save operation. I'd recommend to take a look at tree-sitter, which is an incremental parsing library. Both, language server and tree-sitter are built into a new version of vim called neovim, which I recommend to use as a reference example. We can also move this discussion to a U++ forum.
Author
Owner

@mirek-fidler commented on GitHub (Sep 16, 2021):

Moved here:

https://www.ultimatepp.org/forums/index.php?t=msg&goto=57515&#msg_57515

On Thu, Sep 16, 2021 at 7:25 AM sdbtools @.***> wrote:

I use clangd (actually, ccls language server) with U++ for several years.
I use it from vim. This works very well for me.
Opening of a project takes about 10-15 sec on a 8 core (16 threads) CPU.
Navigation is much better than in TheIDE.
Language server spends ~1-2 sec. recompiling a file on each save operation.
I'd recommend to take a look at tree-sitter, which is an incremental
parsing library.
Both, language server and tree-sitter are built into a new version of vim
called neovim, which I recommend to use as a reference example.
We can also move this discussion to a U++ forum.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ultimatepp/ultimatepp/issues/43#issuecomment-920588706,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARH2373JHDTPM25D4ZIA3LUCF5VFANCNFSM5EAMBQXQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

<!-- gh-comment-id:920625723 --> @mirek-fidler commented on GitHub (Sep 16, 2021): Moved here: https://www.ultimatepp.org/forums/index.php?t=msg&goto=57515&#msg_57515 On Thu, Sep 16, 2021 at 7:25 AM sdbtools ***@***.***> wrote: > I use clangd (actually, ccls language server) with U++ for several years. > I use it from vim. This works very well for me. > Opening of a project takes about 10-15 sec on a 8 core (16 threads) CPU. > Navigation is much better than in TheIDE. > Language server spends ~1-2 sec. recompiling a file on each save operation. > I'd recommend to take a look at tree-sitter, which is an incremental > parsing library. > Both, language server and tree-sitter are built into a new version of vim > called neovim, which I recommend to use as a reference example. > We can also move this discussion to a U++ forum. > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/ultimatepp/ultimatepp/issues/43#issuecomment-920588706>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AARH2373JHDTPM25D4ZIA3LUCF5VFANCNFSM5EAMBQXQ> > . > Triage notifications on the go with GitHub Mobile for iOS > <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> > or Android > <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>. > >
Author
Owner

@mirek-fidler commented on GitHub (Oct 26, 2022):

I think we can consider this issue resolved? :) (As master is now using libclang)

<!-- gh-comment-id:1291998791 --> @mirek-fidler commented on GitHub (Oct 26, 2022): I think we can consider this issue resolved? :) (As master is now using libclang)
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/ultimatepp#27
No description provided.