mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-90402 [debugger]: Handle disabled Python DAP Debugger plugin state in tooltips and GotIt prompts.
Merge-request: IJ-MR-216490 Merged-by: Maxim Popov <maxim.popov@jetbrains.com> (cherry picked from commit 4d1666d1db4236fed8246c828036f585cebd18be) IJ-MR-216490 GitOrigin-RevId: 4cfc994c19699346f619c071a954ab766d8c1345
This commit is contained in:
committed by
intellij-monorepo-bot
parent
ec8d28e141
commit
44843e443b
@@ -934,6 +934,7 @@ debugger.backend.debugpy.description=Python debugger backend built on the Debug
|
||||
debugger.backend.debugpy.disabled.tooltip=debugpy requires Python 3.9 or later
|
||||
debugger.backend.debugpy.disabled.remote.tooltip=debugpy is not supported for remote Python interpreters
|
||||
debugger.backend.debugpy.disabled.not.installed.tooltip=Install the Python DAP Debugger plugin to use the debugpy backend
|
||||
debugger.backend.debugpy.disabled.not.enabled.tooltip=Enable the Python DAP Debugger plugin to use the debugpy backend
|
||||
debugger.backend.install.debugpy.plugin=Install Python DAP Debugger Plugin
|
||||
debugger.backend.enable.debugpy.plugin=Enable Python DAP Debugger Plugin
|
||||
debugger.backend.report.issue.debugpy=Report an Issue with debugpy
|
||||
@@ -1625,6 +1626,7 @@ advertiser.python.dap.plugin.enable.text=Enable Plugin
|
||||
|
||||
debugger.dap.plugin.install.got.it.header=Try the Python DAP Debugger plugin
|
||||
debugger.dap.plugin.install.got.it.text=Install the Python DAP Debugger plugin for faster and more reliable Python debugging with debugpy
|
||||
debugger.dap.plugin.enable.got.it.text=Enable the Python DAP Debugger plugin for faster and more reliable Python debugging with debugpy
|
||||
|
||||
action.PyInstallPackage.text=Install
|
||||
action.PyInstallPackageAction.text=Advanced Package Install\u2026
|
||||
|
||||
@@ -40,8 +40,13 @@ internal class PyDapPluginInstallGotItListener : XDebuggerManagerListener {
|
||||
if (isAcked()) return
|
||||
|
||||
val project = session.project
|
||||
val builder = GotItComponentBuilder { PyBundle.message("debugger.dap.plugin.install.got.it.text") }
|
||||
.withHeader(PyBundle.message("debugger.dap.plugin.install.got.it.header"))
|
||||
// Resolved lazily: the tooltip can appear up to 30 seconds later, and the plugin may be enabled meanwhile.
|
||||
val builder = GotItComponentBuilder {
|
||||
PyBundle.message(
|
||||
if (isPythonDapPluginInstalledButDisabled()) "debugger.dap.plugin.enable.got.it.text"
|
||||
else "debugger.dap.plugin.install.got.it.text"
|
||||
)
|
||||
}.withHeader(PyBundle.message("debugger.dap.plugin.install.got.it.header"))
|
||||
showGotItWhenContentSelected(session, builder) {
|
||||
findBackendSwitcherButton(project)
|
||||
}
|
||||
|
||||
@@ -166,16 +166,17 @@ internal class PyDebuggerBackendSwitcherAction : ComboBoxAction(), DumbAware {
|
||||
if (backend == PyDebuggerBackend.DEBUGPY && !isDebugpyAvailableInProject(project)) {
|
||||
e.presentation.isEnabled = false
|
||||
@Suppress("DialogTitleCapitalization")
|
||||
val disabledMsg = if (!isPythonDapPluginInstalledAndEnabled()) {
|
||||
PyBundle.message("debugger.backend.debugpy.disabled.not.installed.tooltip")
|
||||
}
|
||||
else {
|
||||
val sdk = getEffectiveSdk(project)
|
||||
if (sdk != null && PythonSdkUtil.isRemote(sdk)) {
|
||||
PyBundle.message("debugger.backend.debugpy.disabled.remote.tooltip")
|
||||
}
|
||||
else {
|
||||
PyBundle.message("debugger.backend.debugpy.disabled.tooltip")
|
||||
val disabledMsg = when {
|
||||
isPythonDapPluginInstalledButDisabled() -> PyBundle.message("debugger.backend.debugpy.disabled.not.enabled.tooltip")
|
||||
!isPythonDapPluginInstalledAndEnabled() -> PyBundle.message("debugger.backend.debugpy.disabled.not.installed.tooltip")
|
||||
else -> {
|
||||
val sdk = getEffectiveSdk(project)
|
||||
if (sdk != null && PythonSdkUtil.isRemote(sdk)) {
|
||||
PyBundle.message("debugger.backend.debugpy.disabled.remote.tooltip")
|
||||
}
|
||||
else {
|
||||
PyBundle.message("debugger.backend.debugpy.disabled.tooltip")
|
||||
}
|
||||
}
|
||||
}
|
||||
e.presentation.description = disabledMsg
|
||||
|
||||
Reference in New Issue
Block a user