Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Windows Terminal as a shell option #9047

Merged
merged 5 commits into from
Mar 3, 2020
Merged

add Windows Terminal as a shell option #9047

merged 5 commits into from
Mar 3, 2020

Conversation

AndreiMaga
Copy link
Contributor

@AndreiMaga AndreiMaga commented Feb 4, 2020

Added Windows Terminal

Closes #7854

Description

  • Added Windows Terminal integration

This should be pulled after a new Windows Terminal is released on 2/11. As the next release should have the command line options.

Release notes

Notes: Added Windows Terminal as shell option

Added Windows Terminal
@say25
Copy link
Member

say25 commented Feb 4, 2020

Notes: Terminal v0.9 is scheduled for 2/11 which has support for Command Line Args

@tierninho
Copy link
Contributor

Attempted to spin this PR up in as Windows dev env, but it resulted in some errors. Surfacing them here:

i 「atl」: Checking started in a separate process...
× 「atl」: Checking finished with 33 errors
(node:6928) Warning: a promise was rejected with a non-error: [object Object]
[WEBPACK] Build failed after 87.759 seconds
(node:6928) Warning: a promise was rejected with a non-error: [object Object]
(node:6928) Warning: a promise was rejected with a non-error: [object Object]
[WEBPACK] Errors building cli.js
[at-loader] ./app/src/lib/app-shell.ts:21:26
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/lib/dark-theme.ts:19:17
    TS2339: Property 'nativeTheme' does not exist on type 'Remote'.
[at-loader] ./app/src/ui/main-process-proxy.ts:77:22
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/lib/ui-activity-monitor.ts:101:42
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/lib/stores/app-store.ts:528:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/lib/stores/app-store.ts:540:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/main-process/menu/build-default-menu.ts:65:7
    TS2322: Type '(MenuItemConstructorOptions | { role: string; submenu: never[]; } | { role: string; })[]' is not assignable to type 'Menu | MenuItemConstructorOptions[] | undefined'.
  Type '(MenuItemConstructorOptions | { role: string; submenu: never[]; } | { role: string; })[]' is not assignable to type 'MenuItemConstructorOptions[]'.
    Type 'MenuItemConstructorOptions | { role: string; submenu: never[]; } | { role: string; }' is not assignable to type 'MenuItemConstructorOptions'.
      Type '{ role: string; submenu: never[]; }' is not assignable to type 'MenuItemConstructorOptions'.
        Types of property 'role' are incompatible.
          Type 'string' is not assignable to type '"close" | "window" | "quit" | "hide" | "minimize" | "copy" | "cut" | "paste" | "undo" | "redo" | "pasteandmatchstyle" | "delete" | "selectall" | "reload" | "forcereload" | "toggledevtools" | ... 18 more ... | undefined'.
[at-loader] ./app/src/main-process/app-window.ts:67:46
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/app-window.ts:145:24
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/crash-window.ts:98:48
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/crash-window.ts:107:47
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:30:5
    TS2339: Property 'setAppLogsPath' does not exist on type 'App'.
[at-loader] ./app/src/main-process/main.ts:292:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:365:45
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:378:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:397:23
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:439:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:462:23
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:479:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:486:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:494:23
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:514:28
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:537:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/ui/dispatcher/dispatcher.ts:1370:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/window/window-controls.tsx:54:21
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/crash/crash-app.tsx:107:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/add-repository/add-existing-repository.tsx:175:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/add-repository/create-repository.tsx:165:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/clone-repository/clone-repository.tsx:507:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/app.tsx:220:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/app.tsx:248:25
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/app.tsx:262:25
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/index.tsx:322:20
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
error Command failed with exit code 1.

@AndreiMaga
Copy link
Contributor Author

Attempted to spin this PR up in as Windows dev env, but it resulted in some errors. Surfacing them here:

i 「atl」: Checking started in a separate process...
× 「atl」: Checking finished with 33 errors
(node:6928) Warning: a promise was rejected with a non-error: [object Object]
[WEBPACK] Build failed after 87.759 seconds
(node:6928) Warning: a promise was rejected with a non-error: [object Object]
(node:6928) Warning: a promise was rejected with a non-error: [object Object]
[WEBPACK] Errors building cli.js
[at-loader] ./app/src/lib/app-shell.ts:21:26
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/lib/dark-theme.ts:19:17
    TS2339: Property 'nativeTheme' does not exist on type 'Remote'.
[at-loader] ./app/src/ui/main-process-proxy.ts:77:22
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/lib/ui-activity-monitor.ts:101:42
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/lib/stores/app-store.ts:528:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/lib/stores/app-store.ts:540:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/main-process/menu/build-default-menu.ts:65:7
    TS2322: Type '(MenuItemConstructorOptions | { role: string; submenu: never[]; } | { role: string; })[]' is not assignable to type 'Menu | MenuItemConstructorOptions[] | undefined'.
  Type '(MenuItemConstructorOptions | { role: string; submenu: never[]; } | { role: string; })[]' is not assignable to type 'MenuItemConstructorOptions[]'.
    Type 'MenuItemConstructorOptions | { role: string; submenu: never[]; } | { role: string; }' is not assignable to type 'MenuItemConstructorOptions'.
      Type '{ role: string; submenu: never[]; }' is not assignable to type 'MenuItemConstructorOptions'.
        Types of property 'role' are incompatible.
          Type 'string' is not assignable to type '"close" | "window" | "quit" | "hide" | "minimize" | "copy" | "cut" | "paste" | "undo" | "redo" | "pasteandmatchstyle" | "delete" | "selectall" | "reload" | "forcereload" | "toggledevtools" | ... 18 more ... | undefined'.
[at-loader] ./app/src/main-process/app-window.ts:67:46
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/app-window.ts:145:24
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/crash-window.ts:98:48
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/crash-window.ts:107:47
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:30:5
    TS2339: Property 'setAppLogsPath' does not exist on type 'App'.
[at-loader] ./app/src/main-process/main.ts:292:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:365:45
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:378:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:397:23
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:439:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:462:23
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:479:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:486:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:494:23
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:514:28
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/main-process/main.ts:537:22
    TS2694: Namespace 'Electron' has no exported member 'IpcMainEvent'.
[at-loader] ./app/src/ui/dispatcher/dispatcher.ts:1370:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/window/window-controls.tsx:54:21
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/crash/crash-app.tsx:107:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/add-repository/add-existing-repository.tsx:175:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/add-repository/create-repository.tsx:165:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/clone-repository/clone-repository.tsx:507:13
    TS2339: Property 'filePaths' does not exist on type 'string[] | undefined'.
[at-loader] ./app/src/ui/app.tsx:220:24
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/app.tsx:248:25
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/app.tsx:262:25
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
[at-loader] ./app/src/ui/index.tsx:322:20
    TS2694: Namespace 'Electron' has no exported member 'IpcRendererEvent'.
error Command failed with exit code 1.

Looks like electron troubles, can you try and do a fresh clone and try to compile it again ?

@say25
Copy link
Member

say25 commented Feb 7, 2020

@tierninho I had to kill this folder to get it working post Electron 7 upgrade C:\Users\syeh\AppData\Roaming\GitHub Desktop-dev

@AndreiMaga
Copy link
Contributor Author

Found the problem, if anyone has it, just run yarn to pull electron 7.1.8.

@outofambit outofambit added integrations Issues related to editor and shell integrations that ship in Desktop windows Issues specific Desktop usage on Windows labels Feb 7, 2020
@outofambit outofambit added this to In Progress PRs in Desktop 2.4 release via automation Feb 7, 2020
@tierninho
Copy link
Contributor

Thanks all! It is working and showing up in Desktop as an option. Will circle back to retest when:

Notes: Terminal v0.9 is scheduled for 2/11 which has support for Command Line Args

@tierninho tierninho changed the title Windows Terminal add Windows Terminal as a shell option Feb 7, 2020
@say25
Copy link
Member

say25 commented Feb 11, 2020

Just because I care about this, it appears this might be delayed until 02/29 - https://github.com/microsoft/terminal/milestone/18

@say25
Copy link
Member

say25 commented Feb 13, 2020

Windows Terminal 0.9 was released today! 🎉. This should be ready to go.

@AndreiMaga
Copy link
Contributor Author

Apparently I forgot the . after -d, fix incoming.

@tierninho
Copy link
Contributor

Although Windows Terminal is discoverable, it does not appear to navigate to the repo when selecting Repository > Open in [shell]

Any recommendations?

@AndreiMaga
Copy link
Contributor Author

@tierninho try to update to the newest version of Windows Terminal. Only the newest version has the command line implemented.

@say25
Copy link
Member

say25 commented Feb 14, 2020

I was able to test that this works on my machine as well

@tierninho tierninho self-requested a review February 14, 2020 20:20
Copy link
Contributor

@tierninho tierninho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Tested with Windows 10.

@Rexogamer Rexogamer mentioned this pull request Feb 17, 2020
@outofambit outofambit self-requested a review March 2, 2020 19:51
Copy link
Contributor

@outofambit outofambit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks great! thank you @AndreiMaga!

@outofambit outofambit self-assigned this Mar 2, 2020
@outofambit outofambit moved this from In Progress PRs to Review In Progress in Desktop 2.4 release Mar 2, 2020
@outofambit outofambit merged commit f846643 into desktop:development Mar 3, 2020
Desktop 2.4 release automation moved this from Review In Progress to PRs For Next Beta Mar 3, 2020
@AndreiMaga AndreiMaga deleted the Window-Terminal branch March 13, 2020 07:19
@outofambit outofambit moved this from PRs For Next Beta to Done! in Desktop 2.4 release Mar 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integrations Issues related to editor and shell integrations that ship in Desktop windows Issues specific Desktop usage on Windows
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Add Support for Windows Terminal
4 participants