From a3caebb1d5251b405efb3c597836d4f47ffe1b3d Mon Sep 17 00:00:00 2001 From: Ilia Zakoulov Date: Mon, 1 Dec 2025 18:53:21 +0100 Subject: [PATCH] PY-84031: Provide several file associations with PyCharm It allows opening files in PyCharm from OS file system. Space-RevId: e51c89806973825de375163237ace61b164fb1da GitOrigin-RevId: 20681797573e53b21739134906aabbeca742a886 --- .../intellij/build/pycharm/PyCharmCommunityProperties.kt | 4 ++-- .../build/pycharm/PyCharmMacDistributionCustomizer.kt | 4 ++++ .../intellij/build/pycharm/PyCharmPropertiesBase.kt | 7 +++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt index df8534e0b776..7a5e96f4ab99 100644 --- a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt +++ b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt @@ -48,7 +48,7 @@ open class PyCharmCommunityProperties(protected val communityHome: Path) : PyCha Files.readAllLines(communityHome.resolve("python/build/plugin-list.txt")) productLayout.skipUnresolvedContentModules = true - + baseDownloadUrl = "https://download.jetbrains.com/python/" mavenArtifacts.forIdeModules = true @@ -101,7 +101,7 @@ open class PyCharmCommunityProperties(protected val communityHome: Path) : PyCha icoPathForEAP = "python/build/resources/PyCharmCore_EAP.ico" installerImagesPath = "python/build/resources" - fileAssociations = listOf("py") + fileAssociations = SUPPORTED_FILE_EXTENSIONS fullName { "PyCharm Community Edition" } diff --git a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmMacDistributionCustomizer.kt b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmMacDistributionCustomizer.kt index e9511d29ba1d..5096b033870f 100644 --- a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmMacDistributionCustomizer.kt +++ b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmMacDistributionCustomizer.kt @@ -2,6 +2,7 @@ package org.jetbrains.intellij.build.pycharm import org.jetbrains.intellij.build.ApplicationInfoProperties +import org.jetbrains.intellij.build.FileAssociation import org.jetbrains.intellij.build.BuildContext import org.jetbrains.intellij.build.JvmArchitecture import org.jetbrains.intellij.build.MacDistributionCustomizer @@ -13,6 +14,9 @@ open class PyCharmMacDistributionCustomizer(projectHome: Path) : MacDistribution icnsPathForEAP = projectHome.resolve("python/build/resources/PyCharmCore_EAP.icns") bundleIdentifier = "com.jetbrains.pycharm.ce" dmgImagePath = projectHome.resolve("python/build/resources/dmg_background.tiff") + fileAssociations = PyCharmPropertiesBase.SUPPORTED_FILE_EXTENSIONS.map { + FileAssociation(it) + } } override fun getRootDirectoryName(appInfo: ApplicationInfoProperties, buildNumber: String): String { diff --git a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmPropertiesBase.kt b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmPropertiesBase.kt index 68889b9289ac..ab5afbf873cf 100644 --- a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmPropertiesBase.kt +++ b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmPropertiesBase.kt @@ -53,4 +53,11 @@ abstract class PyCharmPropertiesBase(enlargeWelcomeScreen: Boolean) : JetBrainsP } open fun getKeymapReferenceDirectory(context: BuildContext): Path = context.paths.projectHome.resolve("python/help") + + companion object { + val SUPPORTED_FILE_EXTENSIONS: List = listOf( + "py", "ipynb", "yaml", "yml", "md", "txt", "json", "html", "sql", "env", + "csv", "tsv", "xml", "toml", "sh", "dockerfile", + ) + } }