Giter Club home page Giter Club logo

vscode_for_android's Introduction

Code FA

Language: English | 中文简体

This is an Android version of VS Code implemented using code-server. Some have already implemented similar solutions, and this is one of them.

The package size is relatively large since the resources required are necessary for the initial run, so integrating them into the server and dynamically downloading them is not very meaningful.

Users should weigh this solution against others available from different developers.

The principle is to run code-server and then use a webview to load the view. There might be some bugs, but it performs reasonably well.

This project is open source, with the upper framework being Flutter. The loading of VS Code is implemented in Flutter, and VS Code runs in the Android WebView.

I'm quite busy, so responses to issues might be slow. Thank you for your understanding.

Cheers! 🍻

Features

  • Fully local operation of Code Server
  • Supports the latest version 4.13.0
  • Supports quick updates to Code-Server versions
  • Supports custom Code-Server versions
  • Can run without an internet connection

Getting Started

  1. Download code-server-4.13.0-linux-arm64.tar.gz

  2. Place the downloaded file in /sdcard. Do not unzip or change its filename.

  3. Launch Code FA, and enjoy it!

Changing Code-Server Version

  1. Create a file named code_version in /sdcard with the version number as its content, such as 4.13.0, without any line breaks.

  2. Download the corresponding version and place it in /sdcard. Do not unzip or change its filename.

  3. Launch Code FA, and enjoy it!

Known Issues

  • The built-in WebView does not handle the clipboard well: you can open 127.0.0.1:20000 in an external browser to bypass this issue.

TODO: Like Sula, slide the sidebar to directly input pasted text.

Git History

Star History Chart

vscode_for_android's People

Contributors

cnbilinyj avatar mengyanshou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode_for_android's Issues

在 Flutter 中对 `code-server` 进行解压

pub 使用了这样的逻辑进行解压,其中对软链接和硬链接都进行了相应的处理(符号链接在 Android 当中似乎是好的),或许可以参考其中的逻辑,使用 Dart 而非 tar 进行解压,以免去在电脑上重新打包的步骤?

我目前没有可用的 Flutter 环境,所以暂时无法PR,但个人认为可以复制过来试试

应用使用正常,但是浏览器无法访问

直接使用app使用没什么问题,但是用浏览器访问127.0.0.1:10000基本一直超时会偶尔连上但是很慢,延迟很高,请问这个是什么问题

webview从play商店更新了最新版本,用的浏览器也是最新版chrome

设备是mipad6pro官方系统

我是来点赞的

哥们你对Linux,Android的理解真到位!
这个vscode安卓版太有灵魂了。

似乎不支持最新版vscode-server【4.16.1】

卡在正在启动vscode按钮页面
重启app就只能看命令行了,webview响应为空

另:
【功能建议】
手动下载、配置version文件有点难搞呀
从app实现客户端从github镜像服务器下载code-server,同时保留旧的手动安装。这样更方便些

无法使用pip安装Python库,在设置 ANDROID_DATA 环境变量后可修复

在用 apt 安装好 pip 后, 尝试使用 pip 安装任何包都报这个错

root@localhost:~/gpad-servo# pip install jnius
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/_vendor/platformdirs/android.py", line 85, in _android_folder
    from jnius import autoclass
ModuleNotFoundError: No module named 'jnius'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pip._internal.cli.main import main
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main.py", line 9, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/autocompletion.py", line 10, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/cmdoptions.py", line 23, in <module>
    from pip._internal.cli.parser import ConfigOptionParser
  File "/usr/lib/python3/dist-packages/pip/_internal/cli/parser.py", line 12, in <module>
    from pip._internal.configuration import Configuration, ConfigurationError
  File "/usr/lib/python3/dist-packages/pip/_internal/configuration.py", line 26, in <module>
    from pip._internal.utils.logging import getLogger
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/logging.py", line 27, in <module>
    from pip._internal.utils.misc import ensure_dir
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/misc.py", line 39, in <module>
    from pip._internal.locations import get_major_minor_version
  File "/usr/lib/python3/dist-packages/pip/_internal/locations/__init__.py", line 14, in <module>
    from . import _distutils, _sysconfig
  File "/usr/lib/python3/dist-packages/pip/_internal/locations/_distutils.py", line 19, in <module>
    from .base import get_major_minor_version
  File "/usr/lib/python3/dist-packages/pip/_internal/locations/base.py", line 12, in <module>
    USER_CACHE_DIR = appdirs.user_cache_dir("pip")
  File "/usr/lib/python3/dist-packages/pip/_internal/utils/appdirs.py", line 17, in user_cache_dir
    return _appdirs.user_cache_dir(appname, appauthor=False)
  File "/usr/lib/python3/dist-packages/pip/_vendor/platformdirs/__init__.py", line 114, in user_cache_dir
    return PlatformDirs(appname=appname, appauthor=appauthor, version=version, opinion=opinion).user_cache_dir
  File "/usr/lib/python3/dist-packages/pip/_vendor/platformdirs/android.py", line 43, in user_cache_dir
    return self._append_app_name_and_version(_android_folder(), "cache")
  File "/usr/lib/python3/dist-packages/pip/_vendor/platformdirs/android.py", line 97, in _android_folder
    raise OSError("Cannot find path to android app folder")
OSError: Cannot find path to android app folder

经查阅 https://devv.ai/search?threadId=dj2aesdmqdc0 后,尝试给环境变量 ANDROID_DATA 设置为

export ANDROID_DATA=/data/data/com.nightmare.code/files/home/

后可正常使用 pip

如何修改字体?

我想修改编辑器和终端的字体:我将.ttf字体下载到本地的/sdcard/Fonts文件夹中,在WPS中可以识别到,但是CodeFA在【设置/用户】中貌似加载不了

插件市场里的插件不完整

我这边想做C/C++开发,想安装官方的插件:
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
但是在跑起来的vscode插件库里搜索不到这个插件。
然后我做了两个尝试,都遇到了问题:
1、我手动下载了插件包到本地,但是不知道怎么传到code-server所在的系统环境内
2、然后我尝试在终端用命令行的方式安装,首先是粘贴文本报错:
“无法从浏览器的剪贴板中读取。请确保你已授予此网站从剪贴板中读取的访问权限。”
然后我用code-server --install-extension的方式安装也不行,报找不到ID对应的插件。

请问这个问题有没有办法解决,感谢🙏

Does terminal work on android?

I have a similar code editor app for android on playstore
I saw you are using xterm in pubspec.yaml, so i guess you also have an integrated terminal in it
Could you make it work? like does the terminal part of the application works in Android?

abi va8

which application for abi va8? I tried everything but it doesn't work

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.