void updateGlobalScheme() { if (myColorsManager != null) { EditorColorsScheme globalScheme = myColorsManager.getGlobalScheme(); globalScheme.setEditorFontSize(getFontSize()); globalScheme.setEditorFontName(getFontFamily()); globalScheme.setLineSpacing(((float) getLineSpacing())); EditorFactory.getInstance().refreshAllEditors(); } }
/** @noinspection UnusedParameters */ public PyCharmEduInitialConfigurator( MessageBus bus, CodeInsightSettings codeInsightSettings, final PropertiesComponent propertiesComponent, FileTypeManager fileTypeManager, final ProjectManagerEx projectManager) { final UISettings uiSettings = UISettings.getInstance(); if (!propertiesComponent.getBoolean(CONFIGURED_V2)) { EditorSettingsExternalizable editorSettings = EditorSettingsExternalizable.getInstance(); editorSettings.setEnsureNewLineAtEOF(true); propertiesComponent.setValue(CONFIGURED_V2, true); } if (!propertiesComponent.getBoolean(CONFIGURED_V1)) { patchMainMenu(); uiSettings.SHOW_NAVIGATION_BAR = false; propertiesComponent.setValue(CONFIGURED_V1, true); propertiesComponent.setValue("ShowDocumentationInToolWindow", true); } if (!propertiesComponent.getBoolean(CONFIGURED)) { propertiesComponent.setValue(CONFIGURED, "true"); propertiesComponent.setValue("toolwindow.stripes.buttons.info.shown", "true"); uiSettings.HIDE_TOOL_STRIPES = false; uiSettings.SHOW_MEMORY_INDICATOR = false; uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true; uiSettings.SHOW_MAIN_TOOLBAR = false; codeInsightSettings.REFORMAT_ON_PASTE = CodeInsightSettings.NO_REFORMAT; GeneralSettings.getInstance().setShowTipsOnStartup(false); EditorSettingsExternalizable.getInstance().setVirtualSpace(false); EditorSettingsExternalizable.getInstance().getOptions().ARE_LINE_NUMBERS_SHOWN = true; final CodeStyleSettings settings = CodeStyleSettingsManager.getInstance().getCurrentSettings(); settings.ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true; settings.getCommonSettings(PythonLanguage.getInstance()).ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true; uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true; uiSettings.SHOW_MEMORY_INDICATOR = false; final String ignoredFilesList = fileTypeManager.getIgnoredFilesList(); ApplicationManager.getApplication() .invokeLater( () -> ApplicationManager.getApplication() .runWriteAction( () -> FileTypeManager.getInstance() .setIgnoredFilesList(ignoredFilesList + ";*$py.class"))); PyCodeInsightSettings.getInstance().SHOW_IMPORT_POPUP = false; } final EditorColorsScheme editorColorsScheme = EditorColorsManager.getInstance().getScheme(EditorColorsScheme.DEFAULT_SCHEME_NAME); editorColorsScheme.setEditorFontSize(14); if (!propertiesComponent.isValueSet(DISPLAYED_PROPERTY)) { bus.connect() .subscribe( AppLifecycleListener.TOPIC, new AppLifecycleListener() { @Override public void welcomeScreenDisplayed() { ApplicationManager.getApplication() .invokeLater( () -> { if (!propertiesComponent.isValueSet(DISPLAYED_PROPERTY)) { GeneralSettings.getInstance().setShowTipsOnStartup(false); propertiesComponent.setValue(DISPLAYED_PROPERTY, "true"); patchKeymap(); } }); } }); } bus.connect() .subscribe( ProjectManager.TOPIC, new ProjectManagerAdapter() { @Override public void projectOpened(final Project project) { if (project.isDefault()) return; if (FileChooserUtil.getLastOpenedFile(project) == null) { FileChooserUtil.setLastOpenedFile(project, VfsUtil.getUserHomeDir()); } patchProjectAreaExtensions(project); StartupManager.getInstance(project) .runWhenProjectIsInitialized( new DumbAwareRunnable() { @Override public void run() { if (project.isDisposed()) return; updateInspectionsProfile(); openProjectStructure(); } private void openProjectStructure() { ToolWindowManager.getInstance(project) .invokeLater( new Runnable() { int count = 0; public void run() { if (project.isDisposed()) return; if (count++ < 3) { // we need to call this after // ToolWindowManagerImpl.registerToolWindowsFromBeans ToolWindowManager.getInstance(project).invokeLater(this); return; } ToolWindow toolWindow = ToolWindowManager.getInstance(project) .getToolWindow("Project"); if (toolWindow != null && toolWindow.getType() != ToolWindowType.SLIDING) { toolWindow.activate(null); } } }); } private void updateInspectionsProfile() { final String[] codes = new String[] {"W29", "E501"}; final VirtualFile baseDir = project.getBaseDir(); final PsiDirectory directory = PsiManager.getInstance(project).findDirectory(baseDir); if (directory != null) { InspectionProjectProfileManager.getInstance(project) .getInspectionProfile() .modifyToolSettings( Key.<PyPep8Inspection>create( PyPep8Inspection.INSPECTION_SHORT_NAME), directory, inspection -> Collections.addAll(inspection.ignoredErrors, codes)); } } }); } }); }