cide icon indicating copy to clipboard operation
cide copied to clipboard

Discussion about possible features.

Open Petross404 opened this issue 4 years ago • 13 comments

I think it's a good idea to discuss various ideas and features. So, my two cents here:

  • CIDE wants the user to enter a project name. My idea is to parse the top CMakeLists.txt and read project(Foo) from it. I don't know if it's doable, but if it is then the user can always overwrite the "default" name that CIDE will propose :)
  • Is it me or right clicking on the project name doesn't let me close the project? Right now I close the IDE but this could me... EDIT : Ok, there is a menu for this but just not clicking on the project. Anyway.
  • I don't know exactly which component is CIDE using for the editor part internally, but if it's a KDE-part maybe it could use the settings that kate is using? Like KDevelop does. Don't get me wrong - KDevelop and CIDE both have the right to do things the way they please, but if you are using KTextEditor maybe using the setting the framework provides would make things easy for you. This way many features like colors, boldness of language keywords etc will be configurable. Anyway, you choose if you want to add such a dependency (though KF5 is cross-platform) on your IDE.
  • Last but not least, I don't know (yet) how it behaves on Linux and Windows but on Mac it doesn't show a specific icon on the Dock. You can see this in the previous screenshot. Just a generic "executable" icon of a terminal.

Feel free to share your concerns and your thoughts.

All the best, Petros

Petross404 avatar Feb 08 '20 19:02 Petross404

Thanks for your input!

  • I implemented a heuristic to obtain the project name from CMakeLists.txt for new projects. If it can't find the project name, it falls back to use the folder name of the folder in which the CMakeLists.txt file is in (commit 7cecb11).
  • I added the close-project action to the project's right-click menu as well (commit 73f4597).
  • The editor component in CIDE is written from scratch. It only depends on Qt (for rendering single characters). So, there is no existing functionality to take advantage of. However, I just implemented a configuration page for colors (commit 108969b), text styles (commits d587e8e, e3d893c), and for the local-variable color pool (commit 434f77f).
  • On Linux and Windows, the application icon should be correctly shown in the task bar. Regarding the icon shown on the executable file, on Linux, the AppImage should include an icon, but I'm not aware of under which circumstances this is shown. On Windows, the .exe did not show an icon. I attempted to fix this (commit 333507f) but haven't tested it yet. On Mac, another platform-specific approach is required that I can't test. See e.g.:
    • https://doc.qt.io/qt-5/appicon.html
    • https://stackoverflow.com/questions/22745728/cmake-set-icon-for-a-mac-os-x-app

puzzlepaint avatar Feb 09 '20 20:02 puzzlepaint

Good to hear from you. Indeed project name setup works fine. Colour and text manipulation looks very good, although it's almost midnight and I can't test them thoroughly.

Let me know if I can help you with the mac icon with a specific branch in which you could experiment with some solutions. I would be very happy to help with code but not only my coding skills aren't sharp, it's a matter of free time too.

Last but not least, what do you think about how one could open a project after closing one. I mean, menu File -> Open seems to open a file and not parsing a project. Any ideas on this?

Other than that and in my opinion, your changes are very good and CIDE is quite customisable to fit many needs ;) Well done once again.

Petross404 avatar Feb 13 '20 21:02 Petross404

I think that it might be difficult to make the Mac-specific changes without being able to test them directly. So, I think it would be better if someone with a Mac would attempt to do them.

Yes, File -> Open is intended to open files as text files. For opening projects, Project -> Open project... can be used.

puzzlepaint avatar Feb 18 '20 16:02 puzzlepaint

Maybe I will try to experiment with this. If I start doing so, I will open a new issue so I can get help and information.

Petross404 avatar Feb 18 '20 19:02 Petross404

Hey there, I managed to add the icon in the dock when CIDE is running but the code looks terrible like the fonts are lost.

CMake created an CIDE.app (it's basically a directory that can be ran as executable) which is the what a mac application should like. While cide.icns is located under Resources dir inside CIDE.app, I don't know where to copy the Inconsolata dir. I tried various ways but cide executable inside CIDE.app can't pick up the fonts.

It's weird because the About CIDE dialog uses just fine the fonts. Also I know that on other platforms you copy the resources dir inside CMAKE_CURRENT_BINARY_DIR in order cide executable can load the fonts. But it seems that cmake's MACOSX_BUNDLE works in a different way.

Do you have any experience on this?

Screenshot 2020-05-04 at 4 57 09 PM

Petross404 avatar May 04 '20 13:05 Petross404

Do you have any experience on this?

I have near-zero experience with Mac OS. I suspect that it should be relatively easy to Google this problem though, as it seems like this could be a common problem.

puzzlepaint avatar May 15 '20 21:05 puzzlepaint

I will read again this in case I missed something.

Petross404 avatar May 16 '20 08:05 Petross404

What about add cppcheck as plugin?

ghost avatar Jun 25 '20 12:06 ghost

It's been some time since I last wrote here and I hope you are doing well.

I was was reading about libclang support in CIDE and I was wondering if you are interested in experimenting with clangd and LSP which Kate also gained support for.

Petross404 avatar Nov 19 '20 17:11 Petross404

Thanks for the comment, I am well and I hope you are too.

Regarding the C/C++ support, I am very happy with the current libclang-based implementation in CIDE. But LSP seems like a potentially interesting option for the next time I would like to add support for another language.

A cppcheck integration might be interesting as well.

But currently I can only justify working on things that I directly need for my work.

puzzlepaint avatar Nov 19 '20 23:11 puzzlepaint

But currently I can only justify working on things that I directly need for my work.

Any plans on next release? Maybe, you already has some ROADMAP.md?

ghost avatar Nov 20 '20 08:11 ghost

Regarding the C/C++ support, I am very happy with the current libclang-based implementation in CIDE. But LSP seems like a potentially interesting option for the next time I would like to add support for another language.

Yeah, I remember you wrote a mail to kdevelop-devel in which you introduced CIDE and talked about keeping "two libclang translation units". Nice.

Off-topic but while fast autocomplete times are one very much wanted feature for KDevelop, I wish there were more tutorials for developing kdevelop plugins so I could implement something like a compiler-explorer inside (example). It would feature live translation to assembly as the user is coding. Sometime I hope I will undertake it using this feature.

Petross404 avatar Nov 22 '20 20:11 Petross404

Any plans on next release? Maybe, you already has some ROADMAP.md?

I would first like to test the recent changes for a while before making a new release.

puzzlepaint avatar Nov 23 '20 17:11 puzzlepaint