2015-12-21 2 views
1

Я разрабатываю плагин для IntelliJ-IDEA. Мой плагин - это плагин синхронизации, для которого требуется идентификатор для данных, которые он синхронизирует. Прямо сейчас, всякий раз, когда пользователь либо толкает, либо извлекает данные из облака, им необходимо ввести этот идентификатор. Я хочу, чтобы пользователь мог указать ID в момент создания модуля для своего проекта. Я хочу сохранить данные, связанные с модулем.Сохраните данные, связанные с модулем для плагина IntelliJ

Это то, что у меня есть до сих пор.

package com.michaelsnowden.gas.module; 

import com.intellij.ide.util.projectWizard.ModuleWizardStep; 

import javax.swing.*; 

/** 
* @author michael.snowden 
*/ 
public class GASModuleWizardStep extends ModuleWizardStep { 
    @Override 
    public JComponent getComponent() { 
     final JPanel jPanel = new JPanel(); 
     JTextField textField = new JTextField("My GAS project id"); 
     jPanel.add(textField); 
     return jPanel; 
    } 

    @Override 
    public void updateDataModel() { 
     JTextField textField = (JTextField) getComponent().getComponent(0); 
     String projectId = textField.getText(); 
     System.out.println(projectId); 
     // Now how do I save this projectId and associate it with the module? 
    } 
} 

Как сохранить в projectId с модулем я создаю, так что я могу получить доступ к нему позже?

ответ

2

com.intellij.openapi.module.Module содержит некоторые методы для хранения простых произвольных строковых значений с помощью настраиваемых строковых ключей. Этими методами являются setOption, getOption и clearOption. Ключи и значения будут сохранены в файле .iml модуля, как и в теге <module>.

Для более сложного хранения конфигурации вы можете реализовать PersistentStorageComponent. Используйте это, если вы хотите хранить более одного или более сложных структур данных, чем простая строка. См. org.jetbrains.idea.devkit.build.PluginBuildConfiguration для примера сохранения состояния в файле модуля.

+0

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/10639349) –

+0

Я улучшил свой ответ. Это лучше? –

+0

Да. Даже очень. Возможно, вы могли бы привести пример, чтобы помочь OP? –

 Смежные вопросы

  • Нет связанных вопросов^_^