mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-04 08:51:02 +07:00
[PyCharm] PY-81850 Python Settings follow-up improvements #PY-81850 Ready for Merge
* Added a description for the "Python" group of Settings * Added a description for the "Type Renderers" settings page * Added a description for the "External Documentation" settings page * Added a helpId for the "Type Renderers" settings page (cherry picked from commit 29e93e8dd7fc7f54adea825b60cf8d95540fc6b0) IJ-CR-166515 GitOrigin-RevId: f8fd3f2ca9d6e2d34077a5424673adeb66bc05d1
This commit is contained in:
committed by
intellij-monorepo-bot
parent
35b419badd
commit
84549d7bdf
@@ -58,7 +58,7 @@
|
|||||||
weight="1000"
|
weight="1000"
|
||||||
bundle="messages.PyBundle"
|
bundle="messages.PyBundle"
|
||||||
displayNameKey="settings.python.group.title"
|
displayNameKey="settings.python.group.title"
|
||||||
descriptionKey="settings.python.group.title"/>
|
descriptionKey="settings.python.group.description"/>
|
||||||
|
|
||||||
<projectConfigurable groupId="python.group.settings"
|
<projectConfigurable groupId="python.group.settings"
|
||||||
id="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
|
id="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
|
||||||
|
|||||||
@@ -211,6 +211,7 @@ settings.memory.indicator.row.comment=Displays current memory usage in the statu
|
|||||||
|
|
||||||
# Main Python Settings Group
|
# Main Python Settings Group
|
||||||
settings.python.group.title=Python
|
settings.python.group.title=Python
|
||||||
|
settings.python.group.description=<html><body>Configure key Python development settings to customize your coding, debugging, data visualization, and documentation workflows.
|
||||||
|
|
||||||
runcfg.autodetect.display_name=Autodetect
|
runcfg.autodetect.display_name=Autodetect
|
||||||
runcfg.autodetect.parameters.group.name=Python test
|
runcfg.autodetect.parameters.group.name=Python test
|
||||||
@@ -676,6 +677,7 @@ configurable.PyActiveSdkModuleConfigurable.python.interpreter.display.name=Pytho
|
|||||||
configurable.PyActiveSdkModuleConfigurable.pycharm.interpreter.display.name=Interpreter
|
configurable.PyActiveSdkModuleConfigurable.pycharm.interpreter.display.name=Interpreter
|
||||||
configurable.PyUserTypeRenderersConfigurable.display.name=Python Type Renderers
|
configurable.PyUserTypeRenderersConfigurable.display.name=Python Type Renderers
|
||||||
configurable.PyUserTypeRenderersConfigurable.pycharm.display.name=Type Renderers
|
configurable.PyUserTypeRenderersConfigurable.pycharm.display.name=Type Renderers
|
||||||
|
configurable.PyUserTypeRenderersConfigurable.description= Define custom display formats for various data types across your application.
|
||||||
configurable.plots.pycharm.display.name=Plots
|
configurable.plots.pycharm.display.name=Plots
|
||||||
flask.name=Flask
|
flask.name=Flask
|
||||||
settings.default.remote.interpreter=Default Python Remote Interpreter
|
settings.default.remote.interpreter=Default Python Remote Interpreter
|
||||||
@@ -914,6 +916,7 @@ pydev.console.python.interpreter.is.not.selected=Python interpreter is not selec
|
|||||||
|
|
||||||
external.documentation.python.plugin=Python External Documentation
|
external.documentation.python.plugin=Python External Documentation
|
||||||
external.documentation.pycharm=External Documentation
|
external.documentation.pycharm=External Documentation
|
||||||
|
external.documentation.description=Configure URLs for Python external documentation to enable quick access to relevant resources.
|
||||||
external.documentation.edit.documentation.url=Edit Documentation URL
|
external.documentation.edit.documentation.url=Edit Documentation URL
|
||||||
external.documentation.title=Python External Documentation
|
external.documentation.title=Python External Documentation
|
||||||
external.documentation.configure.description=No external documentation URL is configured for module {0}.\nWould you like to configure it now?
|
external.documentation.configure.description=No external documentation URL is configured for module {0}.\nWould you like to configure it now?
|
||||||
|
|||||||
@@ -15,11 +15,13 @@ import com.intellij.openapi.ui.ValidationInfo
|
|||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
import com.intellij.psi.util.QualifiedName
|
import com.intellij.psi.util.QualifiedName
|
||||||
import com.intellij.ui.*
|
import com.intellij.ui.*
|
||||||
|
import com.intellij.ui.components.JBLabel
|
||||||
import com.intellij.ui.dsl.builder.AlignX
|
import com.intellij.ui.dsl.builder.AlignX
|
||||||
import com.intellij.ui.dsl.builder.LabelPosition
|
import com.intellij.ui.dsl.builder.LabelPosition
|
||||||
import com.intellij.ui.dsl.builder.panel
|
import com.intellij.ui.dsl.builder.panel
|
||||||
import com.intellij.ui.table.JBTable
|
import com.intellij.ui.table.JBTable
|
||||||
import com.intellij.util.textCompletion.TextFieldWithCompletion
|
import com.intellij.util.textCompletion.TextFieldWithCompletion
|
||||||
|
import com.intellij.util.ui.JBUI
|
||||||
import com.intellij.xdebugger.XDebuggerManager
|
import com.intellij.xdebugger.XDebuggerManager
|
||||||
import com.intellij.xdebugger.impl.XSourcePositionImpl
|
import com.intellij.xdebugger.impl.XSourcePositionImpl
|
||||||
import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl
|
import com.intellij.xdebugger.impl.breakpoints.XExpressionImpl
|
||||||
@@ -91,6 +93,14 @@ class PyUserTypeRenderersConfigurable : SearchableConfigurable {
|
|||||||
myRendererChooser.selectElements(listOf(first))
|
myRendererChooser.selectElements(listOf(first))
|
||||||
}
|
}
|
||||||
myMainPanel.removeAll()
|
myMainPanel.removeAll()
|
||||||
|
val border = IdeBorderFactory.createEmptyBorder(JBUI.insets(10, 0))
|
||||||
|
val message = PyBundle.message("configurable.PyUserTypeRenderersConfigurable.description")
|
||||||
|
|
||||||
|
myMainPanel.add(
|
||||||
|
JBUI.Panels.simplePanel(JBLabel(message)).withBorder(border),
|
||||||
|
BorderLayout.NORTH
|
||||||
|
)
|
||||||
|
|
||||||
myMainPanel.add(splitter, BorderLayout.CENTER)
|
myMainPanel.add(splitter, BorderLayout.CENTER)
|
||||||
}
|
}
|
||||||
return myMainPanel
|
return myMainPanel
|
||||||
@@ -164,6 +174,8 @@ class PyUserTypeRenderersConfigurable : SearchableConfigurable {
|
|||||||
|
|
||||||
override fun getId(): String = CONFIGURABLE_ID
|
override fun getId(): String = CONFIGURABLE_ID
|
||||||
|
|
||||||
|
override fun getHelpTopic(): String = "reference.idesettings.debugger.typerenderers"
|
||||||
|
|
||||||
private fun setupRendererChooser() {
|
private fun setupRendererChooser() {
|
||||||
myRendererChooser.emptyText.text = PyBundle.message("form.debugger.variables.view.user.type.renderers.no.renderers")
|
myRendererChooser.emptyText.text = PyBundle.message("form.debugger.variables.view.user.type.renderers.no.renderers")
|
||||||
myRendererChooser.addElementsMarkListener(ElementsChooser.ElementsMarkListener { element, isMarked ->
|
myRendererChooser.addElementsMarkListener(ElementsChooser.ElementsMarkListener { element, isMarked ->
|
||||||
|
|||||||
@@ -6,17 +6,19 @@ import com.intellij.openapi.options.Configurable;
|
|||||||
import com.intellij.openapi.options.ConfigurationException;
|
import com.intellij.openapi.options.ConfigurationException;
|
||||||
import com.intellij.openapi.options.SearchableConfigurable;
|
import com.intellij.openapi.options.SearchableConfigurable;
|
||||||
import com.intellij.openapi.ui.DialogWrapper;
|
import com.intellij.openapi.ui.DialogWrapper;
|
||||||
import com.intellij.ui.AddEditRemovePanel;
|
import com.intellij.ui.*;
|
||||||
import com.intellij.ui.ColoredTableCellRenderer;
|
import com.intellij.ui.components.JBLabel;
|
||||||
import com.intellij.ui.JBColor;
|
|
||||||
import com.intellij.ui.SimpleTextAttributes;
|
|
||||||
import com.intellij.util.PlatformUtils;
|
import com.intellij.util.PlatformUtils;
|
||||||
|
import com.intellij.util.ui.JBUI;
|
||||||
|
import com.intellij.util.ui.components.BorderLayoutPanel;
|
||||||
import com.jetbrains.python.PyBundle;
|
import com.jetbrains.python.PyBundle;
|
||||||
import org.jetbrains.annotations.Nls;
|
import org.jetbrains.annotations.Nls;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import javax.swing.border.Border;
|
||||||
|
import java.awt.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -42,9 +44,17 @@ public final class PythonDocumentationConfigurable implements SearchableConfigur
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JComponent createComponent() {
|
public JComponent createComponent() {
|
||||||
|
Border border = IdeBorderFactory.createEmptyBorder(JBUI.insets(10, 0));
|
||||||
|
JPanel panelWithDescription = JBUI.Panels.simplePanel(new JBLabel(PyBundle.message("external.documentation.description"))).withBorder(border);
|
||||||
|
|
||||||
SwingUtilities.updateComponentTreeUI(myPanel); // TODO: create Swing components in this method (see javadoc)
|
SwingUtilities.updateComponentTreeUI(myPanel); // TODO: create Swing components in this method (see javadoc)
|
||||||
myPanel.getTable().setShowGrid(false);
|
myPanel.getTable().setShowGrid(false);
|
||||||
return myPanel;
|
|
||||||
|
BorderLayoutPanel myComponent = new BorderLayoutPanel()
|
||||||
|
.addToTop(panelWithDescription)
|
||||||
|
.addToCenter(myPanel);
|
||||||
|
|
||||||
|
return myComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user