microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
160.11k stars 28.04k forks source link

Visual Studio Code for ipad #70764

Open allessandrojs opened 5 years ago

allessandrojs commented 5 years ago

can use the Visual Studio Code on a ipad

designMoreWeb commented 4 years ago

@jarvon is there a team or a group of people who will get involved also are we thinking pwa or something else ?

bkniffler commented 4 years ago

I think there is already some decent PWA available like code-sever (self hosted) or stackblitz. I'd love to see a react-native approach with an embedded Monaco editor inside a webview like here https://github.com/bkniffler/vscode-native

davidbarton commented 4 years ago

First step would be to get official mobile browser support for monaco editor or at least fix critical bugs. Related issue here https://github.com/microsoft/monaco-editor/issues/246. There are no resources for this except one.

There is a monaco editor ios app running in react native. Made by @hemantasapkota called Code Playground you can download it from App Store here https://apps.apple.com/us/app/code-playground/id1452106609

In this issue https://github.com/microsoft/monaco-editor/issues/1365 @hemantasapkota mentions sending PR with some of the mobile support fixes for monaco.

Also here https://github.com/hemantasapkota/goplayground/issues/2#issuecomment-475467975 @hemantasapkota talks about a possibility of making some of his work open source

marfier commented 4 years ago

Should the title be changed for iPadOS and add more labels to this Issue?

dylasti commented 4 years ago

i would love dedicated vscode on ipados!!! any update from the team?

geekalert commented 4 years ago

@bkniffler , I love that react-native project. Is it usable? And if so, what are the instructions to get it on an iPad Pro? Thanks, in advance.

bkniffler commented 4 years ago

It’s really just a proof of concept for offline monaco editing, but it doesn’t do anything else right now, no loading or saving of files and no running of code. I’m hoping that it or something alike could lead a way to iPadOS Vscode

marfier commented 4 years ago

I think we can all agree that it needs to be a dedicated app. Who makes the app is besides the point, we're all developers. The thing that we need to figure out is what technology (framework) will best suit the project. Create a Git Repository and get to coding. Love the challenge, live for the finished product. I'm gonna take a crack at it in Javascript, using vue and nativescript if at all possible. I'll post more info in the coming weeks. Happy coding to you all... stay safe.

Hey. Any update?

skipikash commented 4 years ago

I think we can all agree that it needs to be a dedicated app. Who makes the app is besides the point, we're all developers. The thing that we need to figure out is what technology (framework) will best suit the project. Create a Git Repository and get to coding. Love the challenge, live for the finished product. I'm gonna take a crack at it in Javascript, using vue and nativescript if at all possible. I'll post more info in the coming weeks. Happy coding to you all... stay safe.

I’m willing to help, link to the project?

edvilme commented 4 years ago

I am willing to help as well. I think it should not be that difficult to port Electron js code to React Native. Do we have any updates/repo/etc?

On the meantime, I will also research about electron ports to iOS and Android.

marfier commented 4 years ago

I am willing to help as well. I think it should not be that difficult to port Electron js code to React Native. Do we have any updates/repo/etc?

On the meantime, I will also research about electron ports to iOS and Android.

You could use NativeScript, which is like Electron for mobile.

fungaldore commented 4 years ago

I think we can all agree that it needs to be a dedicated app. Who makes the app is besides the point, we're all developers. The thing that we need to figure out is what technology (framework) will best suit the project. Create a Git Repository and get to coding. Love the challenge, live for the finished product. I'm gonna take a crack at it in Javascript, using vue and nativescript if at all possible. I'll post more info in the coming weeks. Happy coding to you all... stay safe.

I'm too busy to help code right now, but I'd love to beta test! I've been waiting forever for this!

marfier commented 4 years ago

I'm honestly losing hope at this point. The whole thing has been going on 4 years (including suggesting Monaco support for mobile at microsoft/monaco-editor#246), and we have gotten very little intervention from the team.

edvilme commented 4 years ago

Ok, I know the folks at repl.it are developing a mobile app of their own. I understand they're loosely based on vscode. To me that sounds like an awesome mix. What do you think? Also you're right. We might be good at our respective areas but this can´t happen without intervention from the core team.

benjaminbauer commented 4 years ago

I'm honestly losing hope at this point. The whole thing has been going on 4 years (including suggesting Monaco support for mobile at microsoft/monaco-editor#246), and we have gotten very little intervention from the team.

I think this gains relevance due to iPadOS getting more desktop-ish. Also imho it would be a sufficient first step to have a „vscode client“ native for iPadOS that can connect to a vscode instance running on a remote, like already available through a plug-in https://code.visualstudio.com/docs/remote/remote-overview. This is similar to projects like code-server, but would have the advantage of working with vanilla vscode on the remote.

On the other hand MS might not want to cannibalize their own offering https://docs.microsoft.com/visualstudio/online/overview/what-is-vsonline

davide-rota commented 4 years ago

@benjaminbauer This is partially possible today using VS Online with either a cloud or self-hosted environment. VS Online CLI Reference Problem is that Safari is not fully supported right now, but support may be coming -> https://github.com/MicrosoftDocs/vsonline/issues/362#issuecomment-609518846

Disane87 commented 4 years ago

@benjaminbauer This is partially possible today using VS Online with either a cloud or self-hosted environment. VS Online CLI Reference

Problem is that Safari is not fully supported right now, but support may be coming -> https://github.com/MicrosoftDocs/vsonline/issues/362#issuecomment-609518846

Or using directly Code-Server plain or in a Docker env.

davide-rota commented 4 years ago

Or using directly Code-Server plain or in a Docker env.

Yep, tried that and it's really good but a VS Online self-hosted env has some advantages:

marfier commented 4 years ago

I'm honestly losing hope at this point. The whole thing has been going on 4 years (including suggesting Monaco support for mobile at microsoft/monaco-editor#246), and we have gotten very little intervention from the team.

I think this gains relevance due to iPadOS getting more desktop-ish. Also imho it would be a sufficient first step to have a „vscode client“ native for iPadOS that can connect to a vscode instance running on a remote, like already available through a plug-in https://code.visualstudio.com/docs/remote/remote-overview. This is similar to projects like code-server, but would have the advantage of working with vanilla vscode on the remote.

On the other hand MS might not want to cannibalize their own offering https://docs.microsoft.com/visualstudio/online/overview/what-is-vsonline

You missed my point. I just said that there is very little intervention from the team in this issue, which has been going on for a year. (And I think that's a bad sign.)

Also, as much as I'm wanting a native VS Code on iPadOS (see my previous comments). You are just giving these suggestions that have been thoroughly discussed here already. We're just going in circles. So all we need is an update.

edvilme commented 4 years ago

Or using directly Code-Server plain or in a Docker env.

Yep, tried that and it's really good but a VS Online self-hosted env has some advantages:

  • Authentication natively backed by Azure AD (MFA, pwdless, ...)
  • no need to open ports from your server on the internet, no ssh or vpn tunnels to manage and setup. Also no certs, dns and public domain to maintain.
  • both are free but VS Online is officially maintained by MS so all extensions are downloaded natively from the marketplace

Does online vs-code have a separate frontend or is it all self hosted online?

davide-rota commented 4 years ago

Does online vs-code have a separate frontend or is it all self hosted online?

You use the VS Online front-end (aka.ms/vso-login) and then select either a cloud azure environment or your own self-hosted server. (there's no separate frontend, only the agent on your own server connecting to VS Online service, no open ports.)

hoyangtsai commented 4 years ago

But, if you use iPad to login vs online (aka.ms/vso-online), on the top of the page shows the notice “Your browser isn’t currently supported ...”

marfier commented 4 years ago

But, if you use iPad to login vs online (aka.ms/vso-online), on the top of the page shows the notice “Your browser isn’t currently supported ...”

https://github.com/MicrosoftDocs/vsonline/issues/362 https://github.com/MicrosoftDocs/vsonline/issues/33

designMoreWeb commented 4 years ago

It might be official this is going to be huge!!!

Devs might be able to write software on iPad and iPhone with Xcode https://www.cultofmac.com/703527/xcode-ipad-iphone-ios-ipados-14-rumor/

Hopefully VSCODE and other editors can then come to the iPad

marfier commented 4 years ago

It might be official this is going to be huge!!!

Devs might be able to write software on iPad and iPhone with Xcode https://www.cultofmac.com/703527/xcode-ipad-iphone-ios-ipados-14-rumor/

Hopefully VSCODE and other editors can then come to the iPad

Wow, this is huge! I am totally fine with Xcode instead.

bkniffler commented 4 years ago

I'd also like to point to this reply though:

The hidden Xcode Preview app is present in iOS 13 and is a companion app for showing layout previews on device from the main Xcode app running on a Mac. Not to say you’re wrong, just an FYI for folks.

https://twitter.com/SteveMoser/status/1252197252887707650

Also, while I'd be happy to see Xcode move to iPadOS and it could mark a start for serious coding on iPad, Xcode and its codebase are in no way related to VSCode, so it wouldn't really change the situation for most folks here.

marfier commented 4 years ago

I'd also like to point to this reply though:

The hidden Xcode Preview app is present in iOS 13 and is a companion app for showing layout previews on device from the main Xcode app running on a Mac. Not to say you’re wrong, just an FYI for folks.

https://twitter.com/SteveMoser/status/1252197252887707650

Also, while I'd be happy to see Xcode move to iPadOS and it could mark a start for serious coding on iPad, Xcode and its codebase are in no way related to VSCode, so it wouldn't really change the situation for most folks here.

To be fair, if we don't get any response from the developers, then the best thing to do is to just move on. We've seen enough reluctancy here. Though I would still prefer a VS Code, you can use a variety of languages with Xcode, even though it isn't perfect. Keep in mind that it's iPadOS.

bkniffler commented 4 years ago

@GalacticLion7 Do you really think people will change the languages they worked hard on mastering for years just because their favorite dev environment doesn't support their favorite device? I surely won't. I think all of this discussion, while it shows what people imagine they'd love to do, lacks empirical evidence. The iPad, that just now added real mouse support, just isn't proven to be a productive system for devs. As Dieter from TheVerge just said in the new Apple Magic touchpad keyboard case review, having a Zoom call during working on Office is a royal pain in the butt. Its not just a matter of dev environment, its a matter of device and OS capabilities. Thats where we are (barely) at the start of a change of mind at Apple.

I know, you (and me), we'd like to get on tinkering and working now, but I'm super eager to see how in real life, with a great code editor (e.g. Xcode), people really are able to work on the iPad as a primary device. I guess its the right decision for MS to wait and see how the iPad proves itself in different areas, before even considering in putting any effort into a huge rewrite. Its up to us to change the current state if we want to get on coding on iPad.

marfier commented 4 years ago

@GalacticLion7 Do you really think people will change the languages they worked hard on mastering for years just because their favorite dev environment doesn't support their favorite device? I surely won't. I think all of this discussion, while it shows what people imagine they'd love to do, lacks empirical evidence. The iPad, that just now added real mouse support, just isn't proven to be a productive system for devs. As Dieter from TheVerge just said in the new Apple Magic touchpad keyboard case review, having a Zoom call during working on Office is a royal pain in the butt. Its not just a matter of dev environment, its a matter of device and OS capabilities. Thats where we are (barely) at the start of a change of mind at Apple.

I know, you (and me), we'd like to get on tinkering and working now, but I'm super eager to see how in real life, with a great code editor (e.g. Xcode), people really are able to work on the iPad as a primary device. I guess its the right decision for MS to wait and see how the iPad proves itself in different areas, before even considering in putting any effort into a huge rewrite. Its up to us to change the current state if we want to get on coding on iPad.

I feel like iPadOS is already a supreme productivity device for things like development, and it's just the app developers that are disproving it.

Using your Zoom example, the reason why having Zoom calls on iPadOS suck, at least on my personal experience, is purely because of the UI/UX. It's just very poor compared to the Windows/macOS versions of the Zoom client.

And that's not just limited to Zoom. Even Google is on the same path. The Google Docs app for iPadOS works fine, but they skimmed down on most of the features available on the full PWA. And the Google Slides app, well, it sucks big time. This is especially a problem for a lot of developers that try to bring their cross-platform and web apps to iPadOS. Not just Google and Zoom.

This could easily be fixed if app developers were competent enough to spend a little bit more time curating their apps for iPadOS (and mobile services in particular). But they don't do that because iPadOS is just not of their best interest.

So Microsoft could follow two paths with two different outcomes to natively bring their IDE to iPadOS:

or

Again, this whole discussion is very pointless if we are not getting any update from the developer team. @isidorn could you please bring some more official activity here?

locomain commented 4 years ago

I started porting the ide to ios but its a lot of work because of the restrictions ios currently has. It is far from production ready. Syntax highlighting broke, some touch stuff is not working as intended and the file system part does not work at all. Also the only way to run nodejs code is to embed the complete runtime in the app (i managed to do that).

Here is a post i made about it. https://www.reddit.com/r/webdev/comments/g7rhtw/i_ported_vscode_to_the_ipad/

If you guys are interested in the project let me know on reddit.

bkniffler commented 4 years ago

Thats really cool @locomain. I'm sad you choose to go for closed source. Not because I wouldn't spend money on it, but because I fear it will slow development down quite a bit. Still, keep it up.

Here the quote for anyone interested:

No, i dont think i am going to open source it. i have a fulltime job and i am doing this in my free time. To finish this is it going to cost me a lot of time and i would hate to see people making bank out of my work as this has happend to me in the past.

koenzhao commented 4 years ago

Looking forward to this as magic keyboard comes out recently. Though it isn't perfect enough now.

locomain commented 4 years ago

@bkniffler a lot of people on Reddit made some excellent comments about why it should be open source the project. I somewhat agree so i will rethink if i am going to open source it or not.

marfier commented 4 years ago

I started porting the ide to ios but its a lot of work because of the restrictions ios currently has. It is far from production ready. Syntax highlighting broke, some touch stuff is not working as intended and the file system part does not work at all. Also the only way to run nodejs code is to embed the complete runtime in the app (i managed to do that).

Here is a post i made about it. https://www.reddit.com/r/webdev/comments/g7rhtw/i_ported_vscode_to_the_ipad/

If you guys are interested in the project let me know on reddit.

Just so you know, this will violate a few guidelines if you release it to the App Store like that.

marfier commented 4 years ago

Check out https://vseditor.app/. It an app that runs code-server to make it seem like a native experience.

bkniffler commented 4 years ago

So basically its just a hosted version of vscode running in a webview for 2,99$ p.m.? I'd rather follow whatever @locomain is up to, seems like he's trying to go the hard route of forking vscode and reimplementing the electronjs part to react native; or host code-server myself.

edvilme commented 4 years ago

I started porting the ide to ios but its a lot of work because of the restrictions ios currently has. It is far from production ready. Syntax highlighting broke, some touch stuff is not working as intended and the file system part does not work at all. Also the only way to run nodejs code is to embed the complete runtime in the app (i managed to do that).

Here is a post i made about it. https://www.reddit.com/r/webdev/comments/g7rhtw/i_ported_vscode_to_the_ipad/

If you guys are interested in the project let me know on reddit.

As the above people said, it can violate some of the store guidelines. You can considering shipping via altStore. Either way, I would be thrilled to help out :D

marfier commented 4 years ago

So basically its just a hosted version of vscode running in a webview for 2,99$ p.m.? I'd rather follow whatever @locomain is up to, seems like he's trying to go the hard route of forking vscode and reimplementing the electronjs part to react native; or host code-server myself.

Yes, but it's a much better experience than doing it on Safari. I'm not saying I recommend it, it's paid and you don't have sudo access.

thomasio101 commented 4 years ago

How about GitHub CodeSpaces? (Doesn't Microsoft offer that already!?)

mbreese commented 4 years ago

How about GitHub CodeSpaces? (Doesn't Microsoft offer that already!?)

In case anyone was interested...

It is possible to get this working with Visual Studio Codespaces, with one caveat -- copy (cmd-C) and undo (cmd-Z) don't work. Pasting data copied from elsewhere works, but you can't copy new data from an editor. Similarly, the undo signal (cmd-Z) doesn't get captured either.

In general, Codespaces works in the same manner as VS App -- you get access to a remote container running (effectively) code-server. In both cases, you end up paying for the resources used. Also in both cases (Codespaces and VS App), you can also use a self-hosted VSO or code-server and use the VSO website or VS App for free. The self-hosted option for VS App is relatively recent.

The author of VS App listed how they get around these issues here: https://github.com/cdr/code-server/issues/1015#issuecomment-631473728 . The quick version is that they intercept copy/paste at the App level and then forward the calls to the WebView.

daybrush commented 4 years ago

This probably looks like a userAgent problem?

UserAgent (Test PC)

Test Code

<head>
...
<script>
Object.defineProperty(navigator, "userAgent", {
  get: () => "Mozilla/5.0 (Macintosh; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",
});
// iOS "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"
// Mac Safari "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15" = $1
</script>
...
</head>
...

Not Working

Result

marfier commented 4 years ago

@daybrush thank you for your contributions, but please note that this issue addresses a dedicated mobile app for Visual Studio Code.

maxiostro commented 4 years ago

@daybrush thank you for your contributions, but please note that this issue addresses a dedicated mobile app for Visual Studio Code.

Agree. This shouldn't be closed. A web app, which requires a computer (or a paid vs code codespace) is not an app like the one for desktops.

daybrush commented 4 years ago

@GalacticLion7 @maxiostro

Oh my mistake. From external issues, I thought links were related issues.

I hope the native app of the iPad comes out.

marfier commented 4 years ago

@rebornix could you reopen?

Altiano commented 4 years ago

After watching the WWDC 2020, that apple moves to ARM processors (Apple Silicon) for the next Macs and all the popular apps will also be re-released/developed for ARM processors maybe implies that those will have no hard time to also run on iPad (?)

I think V8 is already running on ARM, but not really sure about NodeJs

wzxu commented 4 years ago

@Altiano Apple is contributing patches to multiple open source projects for ARM support, including Chromium, Electron, Node, V8, etc. They really are going all in.

Check this out: https://twitter.com/MarkVillacampa/status/1275200446764912643?s=20

LiLejia commented 3 years ago

@Altiano Apple is contributing patches to multiple open source projects for ARM support, including Chromium, Electron, Node, V8, etc. They really are going all in.

Check this out: https://twitter.com/MarkVillacampa/status/1275200446764912643?s=20

It seems that it's for macOS on ARM, not iPadOS on ARM.

marfier commented 3 years ago

Apple Silicon will be based on the A-series chips found in iPads.

LiLejia commented 3 years ago

Apple Silicon will be based on the A-series chips found in iPads.

Right, same chip but different OS, which means totally different API, unless atom is going to use SwiftUI.

The most plausible way is actually Apple makes macOS available on A12Z iPad Pro. Where ARM mac and iPad Pro use same chip, but it is mostly a market decision instead of a technical problem.