Python: add pyside uic extra compiler

To be able to autocomplete code from .ui forms we need to feed the
python language server the compiled form. The uic extra compiler
generates a temporary ui_name.py file for uncompiled or unsaved ui
files. These files are inside a folder that gets appended to the python
path environment variable for the python language server.

Change-Id: I9f48d2012162f33986639315189c41e0a7e0dad2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2022-05-25 15:24:09 +02:00
parent d8b404a1a3
commit b9627ddba7
11 changed files with 366 additions and 35 deletions

View File

@@ -31,6 +31,24 @@
namespace Python {
namespace Internal {
class PySideUicExtraCompiler;
class PythonRunConfiguration : public ProjectExplorer::RunConfiguration
{
Q_OBJECT
public:
PythonRunConfiguration(ProjectExplorer::Target *target, Utils::Id id);
~PythonRunConfiguration() override;
void currentInterpreterChanged();
QList<PySideUicExtraCompiler *> extraCompilers() const;
private:
void updateExtraCompilers();
Utils::FilePath m_pySideUicPath;
QList<PySideUicExtraCompiler *> m_extraCompilers;
};
class PythonRunConfigurationFactory : public ProjectExplorer::RunConfigurationFactory
{
public: