How to programmatically retrieve information like language, OS, Architecture, etc. regarding the current project

StackOverflow https://stackoverflow.com/questions/21846626

Question

I'm pretty new to IntelliJ plugin development and I was wondering if there's the possibility to retrieve some information regarding the current project (or better the current edited file). The information I'd like to have access are the following:

  • Language (e.g. Java, Groovy, etc.)

  • Architecture (e.g. x86, x64, etc.) and OS (WindowsXP, LinuxUbuntu, MAC OS X, etc.) of the machine where IntelliJ is running onto

  • For Java projects, JVM used to build the project

I'm extending a DumbAwareAction and in the actionPerformed(AnActionEvent event) method I found something like this:

Project project = event.getData(PlatformDataKeys.PROJECT);

...but I cannot find such information here.

Was it helpful?

Solution

Quick look into Community Edition source code helped to compose the following:

Sdk projectSdk = ProjectRootManager.getInstance(project).getSdk();

For module:

Sdk moduleSdk = ((ModuleRootManagerImpl)ModuleRootManager.getInstance(module)).getSdk();

Cannot tell anything about Architecture or Language.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top