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

@@ -99,7 +99,9 @@ void BaseClientInterface::parseCurrentMessage()
m_currentMessage = BaseMessage();
}
StdIOClientInterface::StdIOClientInterface() {}
StdIOClientInterface::StdIOClientInterface()
: m_env(Utils::Environment::systemEnvironment())
{}
StdIOClientInterface::~StdIOClientInterface()
{
@@ -124,6 +126,7 @@ void StdIOClientInterface::startImpl()
connect(m_process, &QtcProcess::started, this, &StdIOClientInterface::started);
m_process->setCommand(m_cmd);
m_process->setWorkingDirectory(m_workingDirectory);
m_process->setEnvironment(m_env);
m_process->start();
}
@@ -137,6 +140,11 @@ void StdIOClientInterface::setWorkingDirectory(const FilePath &workingDirectory)
m_workingDirectory = workingDirectory;
}
void StdIOClientInterface::setEnvironment(const Utils::Environment &environment)
{
m_env = environment;
}
void StdIOClientInterface::sendData(const QByteArray &data)
{
if (!m_process || m_process->state() != QProcess::Running) {