PY-84031: Provide several file associations with PyCharm

It allows opening files in PyCharm from OS file system.

Space-RevId: e51c89806973825de375163237ace61b164fb1da

GitOrigin-RevId: 20681797573e53b21739134906aabbeca742a886
This commit is contained in:
Ilia Zakoulov
2026-02-03 23:35:47 +00:00
committed by intellij-monorepo-bot
parent 695e76dbe8
commit a3caebb1d5
3 changed files with 13 additions and 2 deletions
@@ -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" }
@@ -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 {
@@ -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<String> = listOf(
"py", "ipynb", "yaml", "yml", "md", "txt", "json", "html", "sql", "env",
"csv", "tsv", "xml", "toml", "sh", "dockerfile",
)
}
}