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

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

Вопрос

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.

Это было полезно?

Решение

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top