base on Bring macOS “Quick Look” feature to Windows <img src="https://user-images.githubusercontent.com/1687847/82130498-8c3eac80-97d4-11ea-9e88-372ab9c50295.png" width="80"> # QuickLook <a href="https://trendshift.io/repositories/3258" target="_blank"><img src="https://trendshift.io/api/badge/repositories/3258" style="width: 250px; height: 55px;" width="250" height="55"/></a> [![license](https://img.shields.io/github/license/QL-Win/QuickLook.svg)](https://www.gnu.org/licenses/gpl-3.0.en.html) [![Actions](https://github.com/QL-Win/QuickLook/actions/workflows/msbuild.yml/badge.svg)](https://github.com/QL-Win/QuickLook/actions/workflows/msbuild.yml) [![Platform](https://img.shields.io/badge/platform-Windows-blue?logo=windowsxp&color=1E9BFA)](https://dotnet.microsoft.com/en-us/download/dotnet/latest/runtime) [![Github All Releases](https://img.shields.io/github/downloads/QL-Win/QuickLook/total.svg)](https://github.com/QL-Win/QuickLook/releases) [![GitHub release](https://img.shields.io/github/release/QL-Win/QuickLook.svg)](https://github.com/QL-Win/QuickLook/releases/latest) <img src="https://user-images.githubusercontent.com/1687847/64730506-2a60d100-d4e8-11e9-95a6-f13dbd869b2a.jpeg" width="400"> ## Background One of the few features I missed from macOS is [Quick Look](https://en.wikipedia.org/wiki/Quick_Look). It allows users to peek into a file content in lightning speed by just pressing the <kbd>Space</kbd> key. Windows, on the other hand, does not have this handy feature ... until now! I am aware that several alternatives are already available on the Internet but I still decided to craft another one by myself, because they are either not being actively developed, lack of variety. ## Highlights - Tons of supported file types (full list [here](https://github.com/QL-Win/QuickLook/wiki/Supported-File-Types)) - Fluent design - Touchscreen friendly - HiDPI support - Preview from *Open* and *Save File* Dialog - Preview from 3rd-party file managers (see a list [here](https://github.com/QL-Win/QuickLook/wiki/File-Managers)) - Easily extended by [plugins](https://github.com/QL-Win/QuickLook/wiki/Available-Plugins) - Strict GPL license to keep it free forever ## Usage ### Download/Installation Get it from one of the following sources: * Microsoft Store (Windows 10 and later only). Not supported on Windows 10 S. Not support file preview in Open-File or Save-File dialogs. <a href="https://www.microsoft.com/store/apps/9nv4bs3l1h4s?ocid=badge" target="_blank"><img src="https://developer.microsoft.com/store/badges/images/English_get_L.png" height="22px" alt="Store Link" /></a> * Installer or portable archive of the stable version from [GitHub Release](https://github.com/QL-Win/QuickLook/releases) * Using [Scoop](https://scoop.sh/): `scoop bucket add extras && scoop install extras/quicklook` * Nightly builds from [GitHub Action](https://github.com/QL-Win/QuickLook/releases/) [What are the differences between `.msi`, `.zip`, Nightly and Store versions?](https://github.com/QL-Win/QuickLook/wiki/Differences-Between-Distributions) **Note:** Don't forget to check out the [plugins](https://github.com/QL-Win/QuickLook?tab=readme-ov-file#plugins) for previewing office-files, epubs, fonts and more! ### Typical usecase 1. Run `QuickLook.exe` (only necessary if autostart is disabled) 1. Select any file or folder (on the Desktop, in a File Explorer window, in an *Open* or *Save-File* dialogue, doesn't matter) 1. Press <kbd>Spacebar</kbd> 1. Enjoy the preview and interact with it 1. Preview next file by clicking on it or using arrow-keys (arrow-keys move selection in the background if the preview window is not in focus) 1. When you're done close it by either hitting <kbd>Spacebar</kbd> again, pressing <kbd>Esc</kbd> or clicking the `⨉` button ### Hotkeys and buttons - <kbd>Spacebar</kbd> Show/Hide the preview window - <kbd>Esc</kbd> Hide the preview window - <kbd>Enter</kbd> Open/Execute current file - <kbd>Mouse</kbd> <kbd>↑</kbd> <kbd>↓</kbd> <kbd>←</kbd> <kbd>→</kbd> Preview another file - <kbd>Mouse Wheel</kbd> Zoom in/out (images) - <kbd>Ctrl</kbd>+<kbd>Mouse Wheel</kbd> Zoom in/out (PDFs) - <kbd>Wheel</kbd> Increase/decrease volume - <kbd>Left Mouse</kbd> Rotate (3D models) - <kbd>Middle Mouse</kbd> Pan (3D models) ## Plugins ### Official Plugins | Name | Description | URL | | ------------------------------------------------------------ | ---------------------------------------------------------- | ------------------------------------------------------------ | | [OfficeViewer](https://github.com/QL-Win/QuickLook.Plugin.OfficeViewer) | View Office formats **without installing MS Office**. | [Link](https://github.com/QL-Win/QuickLook.Plugin.OfficeViewer/releases) | | [PdfViewer-Native](https://github.com/QL-Win/QuickLook.Plugin.PdfViewer-Native) | View the PDF files with WebView2. | [Link](https://github.com/QL-Win/QuickLook.Plugin.PdfViewer-Native/releases) | | [PostScriptViewer](https://github.com/QL-Win/QuickLook.Plugin.PostScriptViewer) | Preview PostScript `.ps` and `.eps` files. | [Link](https://github.com/QL-Win/QuickLook.Plugin.PostScriptViewer/releases) | | [CADImport](https://github.com/emako/QuickLook.Plugin.CADImport) | Preview CAD file formats (`.dwg`, `.dxf`, `.plt`, `.cgm`). | [Link](https://github.com/emako/QuickLook.Plugin.CADImport/releases) | Here is the complete list of plugins from [Available-Plugins](https://github.com/QL-Win/QuickLook/wiki/Available-Plugins). See [here](https://github.com/QL-Win/QuickLook/wiki/Available-Plugins#how-to-install-or-upgrade-a-plugin) for instructions on how to install plugins. ## Supported file formats See the [Supported formats](SUPPORTED_FORMATS.md) ## Supported file manager integration, etc. See the [Wiki page](https://github.com/QL-Win/QuickLook/wiki) ## Translations See the [Translation guide](https://github.com/QL-Win/QuickLook/wiki/Translations) ## Community QQ Group: [371388501](https://qm.qq.com/q/KIczirznua) ## Developer - **Formatter**: [CodeMaid.config](CodeMaid.config), [Settings.XamlStyler](Settings.XamlStyler) ## Thanks to - Many [open-source projects](https://github.com/QL-Win/QuickLook/wiki/On-the-Shoulders-of-Giants) and their contributors - Our UI designers [@OiCkilL](https://twitter.com/OiCkilL) (“Fluent” user interface since v0.3), [@QubitsDev](https://twitter.com/qubitsdev) (app-icon v0.3-v3.6.9) and [Donno](https://github.com/Donnnno) (app-icon since v3.6.10) - [Our contributers](https://github.com/QL-Win/QuickLook/graphs/contributors) who - teach QuickLook to speak *your* language - send pull requests, report bugs or give suggestions - ... and you 😊 ## Licenses ![GPL-v3](https://www.gnu.org/graphics/gplv3-127x51.png) This project references many other open-source projects. See [here](https://github.com/QL-Win/QuickLook/wiki/On-the-Shoulders-of-Giants) for the full list. All source codes are licensed under [GPL-3.0](https://opensource.org/licenses/GPL-3.0). If you want to make any modification on these source codes while keeping new codes not protected by GPL-3.0, please contact me for a sublicense instead. ", Assign "at most 3 tags" to the expected json: {"id":"3258","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"