diff --git a/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF b/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF
index 9f1f9c9..0c9c0a6 100644
--- a/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF
+++ b/web/bundles/org.eclipse.wst.web.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.web.ui; singleton:=true
-Bundle-Version: 1.2.103.qualifier
+Bundle-Version: 1.2.200.qualifier
 Bundle-Activator: org.eclipse.wst.web.ui.internal.WSTWebUIPlugin
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/web/bundles/org.eclipse.wst.web.ui/plugin.xml b/web/bundles/org.eclipse.wst.web.ui/plugin.xml
index 526abb6..1adbaa5 100644
--- a/web/bundles/org.eclipse.wst.web.ui/plugin.xml
+++ b/web/bundles/org.eclipse.wst.web.ui/plugin.xml
@@ -98,6 +98,8 @@
             <viewShortcut id="org.eclipse.ui.views.PropertySheet"/> 
             <viewShortcut id="org.eclipse.ui.views.ProblemView"/> 
             <viewShortcut id="org.eclipse.wst.server.ui.ServersView"/>
+            <viewShortcut id="org.eclipse.tm.terminal.view.ui.TerminalsView"/>
+            <viewShortcut id="org.eclipse.ui.views.minimap.MinimapView"/>
 
             <perspectiveShortcut id="org.eclipse.jdt.ui.JavaPerspective"/>
         </perspectiveExtension> 
diff --git a/web/bundles/org.eclipse.wst.web.ui/pom.xml b/web/bundles/org.eclipse.wst.web.ui/pom.xml
index e2ebbbd..005b422 100644
--- a/web/bundles/org.eclipse.wst.web.ui/pom.xml
+++ b/web/bundles/org.eclipse.wst.web.ui/pom.xml
@@ -21,6 +21,6 @@
 
   <groupId>org.eclipse.webtools.javaee</groupId>
   <artifactId>org.eclipse.wst.web.ui</artifactId>
-  <version>1.2.103-SNAPSHOT</version>
+  <version>1.2.200-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java b/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java
index 5b3059a..87a7d66 100644
--- a/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java
+++ b/web/bundles/org.eclipse.wst.web.ui/static_web_ui/org/eclipse/wst/web/ui/internal/WebDevelopmentPerspective.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2018 IBM Corporation and others.
+ * Copyright (c) 2006, 2021 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -19,6 +19,7 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.console.IConsoleConstants;
 import org.eclipse.ui.progress.IProgressConstants;
+import org.eclipse.ui.views.IViewDescriptor;
 import org.eclipse.wst.project.facet.IProductConstants;
 import org.eclipse.wst.project.facet.ProductManager;
 
@@ -36,6 +37,7 @@
 	protected static String ID_PROJECT_EXPLORER = "org.eclipse.ui.navigator.ProjectExplorer"; //$NON-NLS-1$
 	protected static final String ID_SERVER = "org.eclipse.wst.server.ui.ServersView"; //$NON-NLS-1$
 	protected static String ID_WST_SNIPPETS_VIEW = "org.eclipse.wst.common.snippets.internal.ui.SnippetsView"; //$NON-NLS-1$
+	private static final String ID_TERMINAL_VIEW = "org.eclipse.tm.terminal.view.ui.TerminalsView"; //$NON-NLS-1$
 
 	public WebDevelopmentPerspective() {
 		super();
@@ -49,6 +51,16 @@
 		}
 	}
 
+	private void addViewIfPresent(IFolderLayout layout, String viewID) {
+		IViewDescriptor descriptor = PlatformUI.getWorkbench().getViewRegistry().find(viewID);
+		if (descriptor != null) {
+			layout.addView(viewID);
+		}
+		else {
+			layout.addPlaceholder(viewID);
+		}
+	}
+
 	/*
 	 *____ ________________ _____
 	 *|    |                |     |
@@ -77,7 +89,7 @@
 		IFolderLayout topRight = layout.createFolder(TOP_RIGHT_LOCATION,
 				IPageLayout.RIGHT, 0.80f, editorArea);
 		topRight.addView(IPageLayout.ID_OUTLINE);
-		topRight.addView(ID_WST_SNIPPETS_VIEW);
+		topRight.addPlaceholder(IPageLayout.ID_MINIMAP_VIEW);
 
 		// BOTTOM Area (Problems, Server, Properties)
 		IFolderLayout bottom = layout.createFolder(BOTTOM_LOCATION,
@@ -85,11 +97,13 @@
 		bottom.addView(IPageLayout.ID_PROBLEM_VIEW);
 		bottom.addView(ID_SERVER);
 		bottom.addView(IPageLayout.ID_PROP_SHEET);
+		bottom.addView(ID_WST_SNIPPETS_VIEW);
 		bottom.addPlaceholder(NewSearchUI.SEARCH_VIEW_ID);
 		bottom.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
 		bottom.addPlaceholder(IPageLayout.ID_BOOKMARKS);
 		bottom.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
 		bottom.addPlaceholder(IPageLayout.ID_TASK_LIST);
+		addViewIfPresent(bottom, ID_TERMINAL_VIEW);
 	}
 
 }
