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.
- 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.
- 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 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.
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.
Requires installation of CMake and Python 3.10 or later.
cd 3party
python build_all.py
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
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.
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