Skip to content

This project is a text editor developed using Qt, integrating common text editing features and providing management capabilities for various object storage services (such as FTP, SFTP, Alibaba Cloud OSS, Tencent Cloud COS, Amazon S3, etc.)

License

Notifications You must be signed in to change notification settings

fengzhu2007/anycode

Repository files navigation

Anycode Text Editor - Multi-functional Project Management Tool

Project Overview

This project is a text editor developed using Qt, integrating common text editing features and providing management capabilities for various object storage services (such as FTP, SFTP, Alibaba Cloud OSS, Tencent Cloud COS, Amazon S3, etc.). Users can create and manage projects through this software, enabling quick uploads of local projects to the specified servers. Additionally, the software supports checking file differences via Git and SVN, ensuring that only changed files are transmitted each time, thereby improving work efficiency.

Key Features

Text Editing Features

  • Basic Text Editing: Supports common text editing operations such as copy, paste, undo, and redo.
  • Syntax Highlighting: Supports syntax highlighting for multiple programming languages.
  • Find and Replace: Supports text search and replace functionality.
  • Multi-Tab Editing: Supports multi-tab editing for handling multiple files simultaneously.

Object Storage Management

  • FTP/SFTP: Supports file upload, download, and management via FTP and SFTP protocols.
  • Alibaba Cloud OSS: Integrates Alibaba Cloud Object Storage Service, supporting file upload, download, and management.
  • Tencent Cloud COS: Integrates Tencent Cloud Object Storage Service, supporting file upload, download, and management.
  • Amazon S3: Integrates Amazon S3 Object Storage Service, supporting file upload, download, and management.

Project Management

  • Project Creation and Management: Users can create and manage projects to organize local and remote files.
  • Quick Upload: Supports quick upload of local projects to specified object storage services.
  • Difference Checking: Checks file differences via Git or SVN to ensure only changed files are transmitted.

Screenshots

Windows Build

Clone the project to your local machine:

git clone https://github.com/fengzhu2007/anycode.git
git submodule update --init

Development Environment: Qt 5.15.2
Visual Studio 2019 or later, C++17

Open the VS Command Tool (x64) as an administrator.

Compile "zlib", "apr", "libexpat/expat", "apr-util", "libssh2", "libgit2"

Requires installation of CMake and Python 3.10 or later.

cd 3party
python build_all.py

Compile OpenSSL

Requires installation of Perl (ActiveState Perl or Strawberry Perl: https://strawberryperl.com/).

build_openssl_x64.bat

Compile curl (Choose version 7.88; versions 8.x and above require updates to higher versions of dependencies such as zlib, OpenSSL, and libssh)

python build_curl.py

Compile Subversion

build_subversion_x64.bat

Open the project in Qt Creator (root directory CMakeLists.txt file).
Since the project is managed using CMake, you need to add the CMake and Ninja from the Qt framework to the PATH environment variable. It is recommended to remove other versions of CMake from PATH (Strawberry Perl also installs CMake).
Ninja must be the one provided by Qt; otherwise, issues may arise. If not added to the environment variable, CMake may generate VS project files for compilation, which can cause problems.
After building with Qt Creator, copy the Qt dependency libraries and plugin libraries (iconengines, imageformats, platforms, sqldrivers) to the anycode.exe directory. Also, copy the dynamically linked libraries generated by third-party compilation (3party\bin\x64\bin) to the same directory.

Reference Websites

https://github.com/tree-sitter/tree-sitter
https://www.freedesktop.org/wiki/Software/uchardet/
https://github.com/KDE/syntax-highlighting
https://www.riverbankcomputing.com/static/Docs/QScintilla/classQsciScintilla.html
https://astyle.sourceforge.net/
https://github.com/geoffstevens8/best-light-themes-pack?tab=readme-ov-file

About

This project is a text editor developed using Qt, integrating common text editing features and providing management capabilities for various object storage services (such as FTP, SFTP, Alibaba Cloud OSS, Tencent Cloud COS, Amazon S3, etc.)

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published