String (@Nullable String directory) { if (directory != null && isDirectory(directory)) { return directory; } String configuredWorkingDirectory = TerminalProjectOptionsProvider.getInstance(myProject).getStartingDirectory(); if (configuredWorkingDirectory != null && isDirectory(configuredWorkingDirectory)) { return configuredWorkingDirectory; } String defaultWorkingDirectory = TerminalProjectOptionsProvider.getInstance(myProject).getDefaultStartingDirectory(); if (defaultWorkingDirectory != null && isDirectory(defaultWorkingDirectory)) { return defaultWorkingDirectory; } VirtualFile projectDir = ProjectUtil.guessProjectDir(myProject); if (projectDir != null) { return VfsUtilCore.virtualToIoFile(projectDir).getAbsolutePath(); } return SystemProperties.getUserHome(); }