diff --git a/bundles/org.eclipse.wst.jsdt.ui/plugin.properties b/bundles/org.eclipse.wst.jsdt.ui/plugin.properties
index 170d60b..ea4d430 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.jsdt.ui/plugin.properties
@@ -1023,8 +1023,8 @@
 BaseWebBrowserLibrary = Web Browser Library
 
 documentationProvider=Documentation Provider
-wizard.name.0 = JavaScript Source File
-wizard.description.0 = Create a new JavaScript file
+wizard.name.0 = JavaScript File
+wizard.description.0 = Create a new JavaScript source file
 extension-point.name.0 = JsGlobalScopeUIInitializer
 extension-point.name.1 = JsGlobalScopeUIInitializer
 extension-point.name.validationHelper=javascriptValidationHelper
diff --git a/bundles/org.eclipse.wst.jsdt.ui/plugin.xml b/bundles/org.eclipse.wst.jsdt.ui/plugin.xml
index 7d4d42c..c21e933 100755
--- a/bundles/org.eclipse.wst.jsdt.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.jsdt.ui/plugin.xml
@@ -367,6 +367,41 @@
 			<selection class="org.eclipse.core.resources.IResource" />
 		</wizard>
    </extension>
+	<extension point="org.eclipse.ui.perspectiveExtensions">
+        <perspectiveExtension targetID="org.eclipse.wst.web.ui.webDevPerspective">
+            <newWizardShortcut id="org.eclipse.wst.jsdt.ui.NewJSWizard"/>
+        </perspectiveExtension>
+        <perspectiveExtension targetID="org.eclipse.jst.j2ee.J2EEPerspective">
+            <newWizardShortcut id="org.eclipse.wst.jsdt.ui.NewJSWizard"/>
+        </perspectiveExtension>
+	</extension>
+	<extension
+		id="org.eclipse.wst.jsdt.ui.newJS"
+		point="org.eclipse.ui.navigator.navigatorContent">
+		<commonWizard
+        menuGroupId="org.eclipse.wst.web.ui"
+        type="new"
+        wizardId="org.eclipse.wst.jsdt.ui.NewJSWizard">
+			<enablement>
+				<or>
+					<adapt type="org.eclipse.core.resources.IResource">
+						<or>
+							<test
+								property="org.eclipse.wst.common.project.facet.core.projectFacet"
+								value="wst.web"/>
+							<test
+								property="org.eclipse.wst.common.project.facet.core.projectFacet"
+								value="jst.web"/>
+							<test
+								property="org.eclipse.wst.common.project.facet.core.projectFacet"
+								value="wst.jsdt.web"/>
+						</or>
+					</adapt>
+				</or>
+			</enablement>
+		</commonWizard>
+	</extension>
+
    <extension
          point="org.eclipse.ui.propertyPages">
       <page
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/IProductConstants.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/IProductConstants.java
index 8a19caa..0798bf0 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/IProductConstants.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/IProductConstants.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2010 IBM Corporation and others.
+ * Copyright (c) 2005, 2020 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -26,5 +26,9 @@
 	 * The "explorer" view to use when creating the JavaScript perspective
 	 */
 	public static final String PERSPECTIVE_EXPLORER_VIEW = "idPerspectiveHierarchyView"; //$NON-NLS-1$
+	/**
+	 * The ID of the editor to open when the new JavaScript File wizard finishes
+	 */
+	public static final String NEW_FILE_EDITOR = "idNewJSFileEditor"; //$NON-NLS-1$
 
 }
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/ProductProperties.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/ProductProperties.java
index 8e67bf0..b824f81 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/ProductProperties.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/ProductProperties.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
+ * Copyright (c) 2005, 2020 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -19,6 +19,10 @@
 	 * Default values for WTP level product
 	 */
 	public static final String ID_PERSPECTIVE_EXPLORER_VIEW = IPageLayout.ID_PROJECT_EXPLORER;
+	/**
+	 * Default values for WTP level product
+	 */
+	public static final String ID_DEFAULT_JS_EDITOR = "org.eclipse.ui.genericeditor.GenericEditor"; //$NON-NLS-1$
 
 	/**
 	 * Return the value for the associated key from the Platform Product registry or return the
@@ -36,6 +40,8 @@
 		if (value == null) {
 			if (key.equals(IProductConstants.PERSPECTIVE_EXPLORER_VIEW))
 				return ID_PERSPECTIVE_EXPLORER_VIEW;
+			if (key.equals(IProductConstants.NEW_FILE_EDITOR))
+				return ID_DEFAULT_JS_EDITOR;
 		}
 		return value;
 	}
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/wizards/NewJSWizard.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/wizards/NewJSWizard.java
index 3da76d3..613a2b5 100644
--- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/wizards/NewJSWizard.java
+++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/wizards/NewJSWizard.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2012 IBM Corporation and others.
+ * Copyright (c) 2005, 2020 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v2.0
  * which accompanies this distribution, and is available at
@@ -15,14 +15,17 @@
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.IEditorDescriptor;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.ide.IDE;
+import org.eclipse.wst.jsdt.internal.ui.IProductConstants;
 import org.eclipse.wst.jsdt.internal.ui.JavaPluginImages;
 import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
+import org.eclipse.wst.jsdt.internal.ui.ProductProperties;
 
 public class NewJSWizard extends Wizard implements INewWizard {
 	
@@ -53,7 +56,19 @@
 						if (activeWorkbenchWindow != null) {
 							IWorkbenchPage page = activeWorkbenchWindow.getActivePage();
 							if (page != null) {
-								IDE.openEditor(page, file, true, false);
+								IEditorDescriptor defaultEditor = IDE.getDefaultEditor(file);
+								/*
+								 * If this was going to open in the default
+								 * Text Editor, redirect to the preset
+								 * preferred one.
+								 */
+								if ("org.eclipse.ui.DefaultTextEditor".equals(defaultEditor.getId())) { //$NON-NLS-1$
+									String editorId = ProductProperties.getProperty(IProductConstants.NEW_FILE_EDITOR);
+									IDE.openEditor(page, file, editorId);
+								}
+								else {
+									IDE.openEditor(page, file, true, false);
+								}
 							}
 						}
 					}
