forked from qt-creator/qt-creator
LanguageClient: add global action to open inspector
Change-Id: I3dcd6cdf716e68e2d7bedb24e1db372d93683698 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -48,6 +48,7 @@ const char LANGUAGECLIENT_WORKSPACE_CLASS_FILTER_ID[] = "Workspace Classes and S
|
|||||||
const char LANGUAGECLIENT_WORKSPACE_CLASS_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("LanguageClient", "Classes and Structs in Workspace");
|
const char LANGUAGECLIENT_WORKSPACE_CLASS_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("LanguageClient", "Classes and Structs in Workspace");
|
||||||
const char LANGUAGECLIENT_WORKSPACE_METHOD_FILTER_ID[] = "Workspace Functions and Methods";
|
const char LANGUAGECLIENT_WORKSPACE_METHOD_FILTER_ID[] = "Workspace Functions and Methods";
|
||||||
const char LANGUAGECLIENT_WORKSPACE_METHOD_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("LanguageClient", "Functions and Methods in Workspace");
|
const char LANGUAGECLIENT_WORKSPACE_METHOD_FILTER_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("LanguageClient", "Functions and Methods in Workspace");
|
||||||
|
const char G_TOOLS_LANGUAGECLIENT[] = "QtCreator.Group.Tools.LanguageClient";
|
||||||
|
|
||||||
} // namespace Constants
|
} // namespace Constants
|
||||||
} // namespace LanguageClient
|
} // namespace LanguageClient
|
||||||
|
@@ -25,9 +25,14 @@
|
|||||||
|
|
||||||
#include "languageclientplugin.h"
|
#include "languageclientplugin.h"
|
||||||
|
|
||||||
|
#include "client.h"
|
||||||
#include "languageclientmanager.h"
|
#include "languageclientmanager.h"
|
||||||
|
|
||||||
#include "client.h"
|
#include <coreplugin/actionmanager/actioncontainer.h>
|
||||||
|
#include <coreplugin/actionmanager/actionmanager.h>
|
||||||
|
|
||||||
|
#include <QAction>
|
||||||
|
#include <QMenu>
|
||||||
|
|
||||||
namespace LanguageClient {
|
namespace LanguageClient {
|
||||||
|
|
||||||
@@ -50,10 +55,26 @@ LanguageClientPlugin *LanguageClientPlugin::instance()
|
|||||||
|
|
||||||
bool LanguageClientPlugin::initialize(const QStringList & /*arguments*/, QString * /*errorString*/)
|
bool LanguageClientPlugin::initialize(const QStringList & /*arguments*/, QString * /*errorString*/)
|
||||||
{
|
{
|
||||||
|
using namespace Core;
|
||||||
|
|
||||||
LanguageClientManager::init();
|
LanguageClientManager::init();
|
||||||
LanguageClientSettings::registerClientType({Constants::LANGUAGECLIENT_STDIO_SETTINGS_ID,
|
LanguageClientSettings::registerClientType({Constants::LANGUAGECLIENT_STDIO_SETTINGS_ID,
|
||||||
tr("Generic StdIO Language Server"),
|
tr("Generic StdIO Language Server"),
|
||||||
[]() { return new StdIOSettings; }});
|
[]() { return new StdIOSettings; }});
|
||||||
|
|
||||||
|
//register actions
|
||||||
|
ActionContainer *toolsContainer
|
||||||
|
= ActionManager::actionContainer(Core::Constants::M_TOOLS);
|
||||||
|
toolsContainer->insertGroup(Core::Constants::G_TOOLS_OPTIONS, Constants::G_TOOLS_LANGUAGECLIENT);
|
||||||
|
ActionContainer *container = ActionManager::createMenu("Language Client");
|
||||||
|
container->menu()->setTitle(tr("&Language Client"));
|
||||||
|
toolsContainer->addMenu(container, Constants::G_TOOLS_LANGUAGECLIENT);
|
||||||
|
|
||||||
|
auto inspectAction = new QAction(tr("Inspect Language Clients"), this);
|
||||||
|
connect(inspectAction, &QAction::triggered, this, &LanguageClientManager::showInspector);
|
||||||
|
container->addAction(
|
||||||
|
ActionManager::registerAction(inspectAction, "LanguageClient.InspectLanguageClients"));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user