diff --git a/src/main/kotlin/org/rust/cargo/project/configurable/CargoConfigurable.kt b/src/main/kotlin/org/rust/cargo/project/configurable/CargoConfigurable.kt
index e4c347fea7a..c5e880ae420 100644
--- a/src/main/kotlin/org/rust/cargo/project/configurable/CargoConfigurable.kt
+++ b/src/main/kotlin/org/rust/cargo/project/configurable/CargoConfigurable.kt
@@ -91,4 +91,8 @@ class CargoConfigurable(project: Project) : RsConfigurableBase(project) {
compileAllTargets = settings.compileAllTargets
useOffline = settings.useOffline
}
+
+ companion object {
+ const val DISPLAY_NAME: String = "Cargo"
+ }
}
diff --git a/src/main/kotlin/org/rust/ide/actions/CargoEditSettingsAction.kt b/src/main/kotlin/org/rust/ide/actions/CargoEditSettingsAction.kt
new file mode 100644
index 00000000000..147006518e8
--- /dev/null
+++ b/src/main/kotlin/org/rust/ide/actions/CargoEditSettingsAction.kt
@@ -0,0 +1,24 @@
+/*
+ * Use of this source code is governed by the MIT license that can be
+ * found in the LICENSE file.
+ */
+
+package org.rust.ide.actions
+
+import com.intellij.openapi.actionSystem.AnAction
+import com.intellij.openapi.actionSystem.AnActionEvent
+import com.intellij.openapi.options.ShowSettingsUtil
+import com.intellij.openapi.project.DumbAware
+import org.rust.cargo.project.configurable.CargoConfigurable
+
+class CargoEditSettingsAction : AnAction(), DumbAware {
+
+ override fun update(e: AnActionEvent) {
+ super.update(e)
+ e.presentation.isEnabledAndVisible = e.project != null
+ }
+
+ override fun actionPerformed(e: AnActionEvent) {
+ ShowSettingsUtil.getInstance().showSettingsDialog(e.project, CargoConfigurable.DISPLAY_NAME)
+ }
+}
diff --git a/src/main/resources/META-INF/core.xml b/src/main/resources/META-INF/core.xml
index 323efca9c94..d54d31ca154 100644
--- a/src/main/resources/META-INF/core.xml
+++ b/src/main/resources/META-INF/core.xml
@@ -980,6 +980,12 @@
icon="AllIcons.Actions.Collapseall"
use-shortcut-of="CollapseAll"/>
+
+
+
@@ -991,6 +997,8 @@
+
+