Java源码示例:com.intellij.execution.configuration.EnvironmentVariablesComponent
示例1
@Override
public void writeExternal(Element element) throws WriteExternalException {
super.writeExternal(element);
// common config
JDOMExternalizerUtil.writeField(element, "INTERPRETER_OPTIONS", interpreterOptions);
JDOMExternalizerUtil.writeField(element, "INTERPRETER_PATH", interpreterPath);
JDOMExternalizerUtil.writeField(element, "PROJECT_INTERPRETER", Boolean.toString(useProjectInterpreter));
JDOMExternalizerUtil.writeField(element, "WORKING_DIRECTORY", workingDirectory);
JDOMExternalizerUtil.writeField(element, "PARENT_ENVS", Boolean.toString(isPassParentEnvs()));
// run config
JDOMExternalizerUtil.writeField(element, "SCRIPT_NAME", scriptName);
JDOMExternalizerUtil.writeField(element, "PARAMETERS", getProgramParameters());
//JavaRunConfigurationExtensionManager.getInstance().writeExternal(this, element);
DefaultJDOMExternalizer.writeExternal(this, element);
writeModule(element);
EnvironmentVariablesComponent.writeExternal(element, getEnvs());
PathMacroManager.getInstance(getProject()).collapsePathsRecursively(element);
}
示例2
protected void initComponents() {
myProgramParametersComponent = LabeledComponent.create(new RawCommandLineEditor(), ExecutionBundle.message("run.configuration.program.parameters"));
FileChooserDescriptor fileChooserDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
//noinspection DialogTitleCapitalization
fileChooserDescriptor.setTitle(ExecutionBundle.message("select.working.directory.message"));
myWorkingDirectoryComboBox = new MacroComboBoxWithBrowseButton(fileChooserDescriptor, getProject());
myWorkingDirectoryComponent = LabeledComponent.create(myWorkingDirectoryComboBox, ExecutionBundle.message("run.configuration.working.directory.label"));
myEnvVariablesComponent = new EnvironmentVariablesComponent();
myEnvVariablesComponent.setLabelLocation(BorderLayout.WEST);
myProgramParametersComponent.setLabelLocation(BorderLayout.WEST);
myWorkingDirectoryComponent.setLabelLocation(BorderLayout.WEST);
addComponents();
setPreferredSize(new Dimension(10, 10));
copyDialogCaption(myProgramParametersComponent);
}
示例3
@Override
public void readExternal(Element element) throws InvalidDataException {
PathMacroManager.getInstance(getProject()).expandPaths(element);
super.readExternal(element);
DefaultJDOMExternalizer.readExternal(this, element);
readModule(element);
EnvironmentVariablesComponent.readExternal(element, getEnvs());
// common config
interpreterOptions = JDOMExternalizerUtil.readField(element, "INTERPRETER_OPTIONS");
interpreterPath = JDOMExternalizerUtil.readField(element, "INTERPRETER_PATH");
workingDirectory = JDOMExternalizerUtil.readField(element, "WORKING_DIRECTORY");
// 1.7.0 to 1.7.2 broke the run configs by defaulting to useProjectInterpreter, using field USE_PROJECT_INTERPRETER
// we try to workaround for config saved by these versions by using another field and a smart fallback
String useProjectInterpreterValue = JDOMExternalizerUtil.readField(element, "PROJECT_INTERPRETER");
String oldUseProjectInterpreterValue = JDOMExternalizerUtil.readField(element, "USE_PROJECT_INTERPRETER");
if (useProjectInterpreterValue != null) {
useProjectInterpreter = Boolean.parseBoolean(useProjectInterpreterValue);
} else if (StringUtils.isEmpty(interpreterPath) && oldUseProjectInterpreterValue != null) {
// only use old "use project interpreter" setting when there's no interpreter in the run config and a configured project interpreter
Project project = getProject();
if (!BashProjectSettings.storedSettings(project).getProjectInterpreter().isEmpty()) {
useProjectInterpreter = Boolean.parseBoolean(oldUseProjectInterpreterValue);
}
}
String parentEnvValue = JDOMExternalizerUtil.readField(element, "PARENT_ENVS");
if (parentEnvValue != null) {
setPassParentEnvs(Boolean.parseBoolean(parentEnvValue));
}
// run config
scriptName = JDOMExternalizerUtil.readField(element, "SCRIPT_NAME");
setProgramParameters(JDOMExternalizerUtil.readField(element, "PARAMETERS"));
}
示例4
public void readExternal(final Element element) throws InvalidDataException {
PathMacroManager.getInstance(getProject()).expandPaths(element);
super.readExternal(element);
xmlConfigurationAccessor.readConfiguration(element, this);
readModule(element);
EnvironmentVariablesComponent.readExternal(element, getEnvs());
variablesAccessor.readVariables(element, this);
}
示例5
public void writeExternal(final Element element) throws WriteExternalException {
super.writeExternal(element);
xmlConfigurationAccessor.writeConfiguration(this, element);
writeModule(element);
EnvironmentVariablesComponent.writeExternal(element, getEnvs());
PathMacroManager.getInstance(getProject()).collapsePathsRecursively(element);
variablesAccessor.writeVariables(this, element);
}
示例6
public EnvironmentVariablesComponent getEnvOptions() {
return envOptions;
}