This is a work-in-progress page that attempts to describe how to set up MuseScore development with different IDEs. Do you use an IDE that doesn't have any info here? Please, help others out and add the info for your IDE!
Qt Creator (Windows, Mac, Linux)
Qt Creator is the official IDE for Qt projects. It has many Qt-specific features that other IDEs don't have, or don't have as soon as Qt Creator has them.
The only reason not to use Qt Creator would be if you already have a strong preference for a different IDE.
- Detailed example projects. These allow you to test Qt features outside of MuseScore's huge codebase.
- Visual Design mode for editing Qt's
.ui(user iterface) files, such as MuseScore's
- Cross-platform. Edit in the same environment on Windows, Mac and Linux.
- Included with Qt by default. If you have Qt then you have Qt Creator!
A choice selection:
- F2 - Follow symbol under cursor.
- Click on a variable/function/class name and press this to be taken to its declaration. Useful if you don't know what something is or what it does.
- Ctrl+Shift+U - Find references to symbol under cursor.
- Show places where this variable/function/class is used anywhere in the project (i.e. not just in the current file).
- Ctrl+Shift+R - Rename symbol under cursor.
- Changes the name of a variable/function/class here and everywhere else it occurs, kind of like a "smart" find-and-replace.
- F4 - Switch between header (
file.h) and source (
- Shift+F2 - Switch between function declaration and definition.
There should be some config files already in
A popup will appear asking if you want to install the 'recommended extensions'. Install all the extensions that are recommended. For reference, these are:
- Microsoft C/C++ tools (ms-vscode.cpptools)
- CMake tools (ms-vscode.cmake-tools)
- CMake (twxs.cmake)
You may need to restart your editor at this point.
IntelliSense and other features (jump to definition, syntax highlighting, error checking) should now work. If you're encountering problems, message @jthistle on Telegram via the development chat.
- A massive extensions database, allowing you to customize the editor to fit your needs perfectly
- IntelliSense support (advance syntax highlighting, pre-compile error checking etc.)
- Jump to definition/find usages support
One disadvantage is that editing UI files is not easy with just VSCode. You may want to consider simultaneously installing QtCreator in order to make changes to the UI.