All Projects → microsoft → vs-editor-api

microsoft / vs-editor-api

Licence: MIT license
Microsoft Visual Studio Editor API definitions

Programming Languages

C#
18002 projects
shell
77523 projects

Projects that are alternatives of or similar to vs-editor-api

nettle
Unofficial Nettle with added custom native Visual Studio project build tools. Nettle: Nettle is a cryptographic library that is designed to fit easily in more or less any context.
Stars: ✭ 19 (-82.57%)
Mutual labels:  visual-studio, visualstudio
xml-semantic-external-parser
A semantic external parser for XML files that can be used together with GMaster, PlasticSCM or SemanticMerge. Supports various XML formats, such as the Visual Studio project format.
Stars: ✭ 15 (-86.24%)
Mutual labels:  visual-studio, visualstudio
MvsSln
🧩 Customizable VisualStudio .sln parser, Complex support of the projects (.vcxproj, .csproj., …), Pluginable lightweight r/w handlers at runtime, and more …
Stars: ✭ 86 (-21.1%)
Mutual labels:  visual-studio, visualstudio
libssh
Unofficial LibSSH with added custom native Visual Studio project build tools. LibSSH: Mulitplatform C library implementing the SSHv2 and SSHv1 protocol for client and server implementations.
Stars: ✭ 21 (-80.73%)
Mutual labels:  visual-studio, visualstudio
gmp
Unofficial GMP with added custom native Visual Studio project build tools. GMP: GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers.
Stars: ✭ 61 (-44.04%)
Mutual labels:  visual-studio, visualstudio
ConEmuIntegration
Using the console emulator ConEmu within Visual Studio. This project integrates the console emulator ConEmu in Visual Studio.
Stars: ✭ 36 (-66.97%)
Mutual labels:  visual-studio, visualstudio
gnutls
Unofficial GnuTLS with added custom native Visual Studio project build tools. GnuTLS: GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them.
Stars: ✭ 17 (-84.4%)
Mutual labels:  visual-studio, visualstudio
vs-autocomment
A visual studio plugin that automatically inserts comments
Stars: ✭ 30 (-72.48%)
Mutual labels:  visual-studio, visualstudio
FFmpeg
Unofficial FFmpeg with added custom native Visual Studio project build tools. FFmpeg: A complete, cross-platform solution to record, convert and stream audio and video.
Stars: ✭ 479 (+339.45%)
Mutual labels:  visual-studio, visualstudio
x265
Unofficial X265 with added custom native Visual Studio project build tools. X265: x265 is an open-source project and free application library for encoding video streams into the H.265/High Efficiency Video Coding (HEVC) format.
Stars: ✭ 23 (-78.9%)
Mutual labels:  visual-studio, visualstudio
Awesome Vscode
🎨 A curated list of delightful VS Code packages and resources.
Stars: ✭ 19,659 (+17935.78%)
Mutual labels:  visual-studio, visualstudio
CUDAfy.NET
CUDAfy .NET allows easy development of high performance GPGPU applications completely from the .NET. It's developed in C#.
Stars: ✭ 56 (-48.62%)
Mutual labels:  visual-studio, visualstudio
cccc
Source code counter and metrics tool for C++, C, and Java
Stars: ✭ 39 (-64.22%)
Mutual labels:  visual-studio
vscode-allautocomplete
Autocomplete from open files for VSCode
Stars: ✭ 90 (-17.43%)
Mutual labels:  visual-studio
papercolor-vscode
the popular color theme from VIM to VsCode
Stars: ✭ 15 (-86.24%)
Mutual labels:  visual-studio
Cake
Yummy syntax theme for Atom, Brackets, Sublime Text and Visual Studio Code
Stars: ✭ 47 (-56.88%)
Mutual labels:  visual-studio
vsSolutionBuildEvent
🎛 Event-Catcher with variety of advanced Actions to service projects, libraries, build processes, runtime environment of the Visual Studio, MSBuild Tools, and …
Stars: ✭ 66 (-39.45%)
Mutual labels:  visual-studio
flutter plugin appcenter
Flutter plugins for accessing Visual Studio App Center services.
Stars: ✭ 55 (-49.54%)
Mutual labels:  visualstudio
TSqlRules
TSQL Static Code Analysis Rules for SQL Server
Stars: ✭ 29 (-73.39%)
Mutual labels:  visual-studio
experimental-tools
A bunch of quality refactorings and code fixes that are going to improve your C# development experience in Visual Studio and remove some common pain.
Stars: ✭ 19 (-82.57%)
Mutual labels:  visual-studio

Microsoft Visual Studio Editor API

This repository contains the open source layers of the Microsoft Visual Studio editor. This includes all public API definitions and some low level implementations of the editor including the text model, text logic, and editor primitives & operations subsystems. These layers are intended for extension authors to better integrate with the editor.

With a few caveats, the layers in this repository power both Visual Studio on Windows and the Visual Studio for Mac editors. While both editors are built on this codebase, many aspects of the editor are not open source, including the WPF and Cocoa UI layers.

Visual Studio for Mac

Visual Studio for Mac 8.1 introduced a brand new native macOS text editor built on the "real" Visual Studio editor core. Central to our ongoing effort to bring parity and performance benefits to developers by leveraging and sharing more code with Visual Studio on Windows, the UI layers were ported directly from WPF to modern Cocoa.

Most notably, the Cocoa editor uses Apple's Core Text, Core Graphics, and Core Animation technologies to perform retained-mode layout and high fidelity rendering of text. Among other enhancements for and integrations with macOS, it now supports all of the macOS input methods via the NSTextInputClient protocol.

Currently, the new native editor based on Visual Studio and the legacy editor co-exist while we transition all language services away from the legacy editor. Visual Studio for Mac supports C# and XAML (in 8.2 previews) so far, but will continue to enable support for other languages over the coming releases. Please refer to the Visual Studio for Mac roadmap for details on what's next.

This diagram should help visualize the layering of Visual Studio for Mac compared to Visual Studio while the legacy editor still exists for some languages.

Visual Studio for Mac Editor Architecture

Caveats

In order to facilitate porting the WPF editor from Windows to macOS, some breaking changes have been made to some of the lower-level interfaces. The ongoing plan is to reconcile these differences such that there is no API difference whatsoever between the WPF and Cocoa editors.

For now, however, there are two separate sets of NuGet packages for targeting Visual Studio and Visual Studio for Mac, available in the respective sections below.

While most non-UI related interfaces are identical across WPF and Cocoa implementations of the editor, many are new yet familiar: when targeting Cocoa, ICocoa* interfaces can generally be found in place of analogous IWpf* interfaces.

Resources

The following resources should help extension authors become familiar with the editor APIs and capabilities, and are relevant to both Visual Studio and Visual Studio for Mac.

Editor SDK Installation

Visual Studio for Mac

NuGet packages are forthcoming, but all assemblies are available to extensions for Visual Studio for Mac when using Add-in Maker. The assemblies can also be produced directly from this repository (see Building the Editor API below).

Refer to the Extending Visual Studio for Mac documentation for details.

Visual Studio (Windows)

On Windows, the Visual Studio Editor API is available via NuGet and is also installed with the Visual Studio Extension Development workload.

NuGet Package Current Version
Microsoft.VisualStudio.CoreUtility NuGet package
Microsoft.VisualStudio.Text.Data NuGet package
Microsoft.VisualStudio.Text.Logic NuGet package
Microsoft.VisualStudio.Text.UI NuGet package

Building The Editor API

While this repository is largely intended for reference, it can produce a viable build of the lower levels of the editor. Either open VSEditorCore.sln in Visual Studio or Visual Studio for Mac and build from the IDE, or build on the command line.

Visual Studio 2019 or Visual Studio for Mac 8.0 or newer is required.

Build

Assemblies will be available in the bin/ directory at the root of the repository.

$ msbuild /restore

Package

NuGet packages may also be produced locally and will be available in the _artifacts/nuget/ directory at the root of the repository.

$ msbuild /t:Pack

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Pull Requests

We are generally not accepting pull requests for this repository for the core editor code at this time. Please feel free to submit pull requests for other content in this repository, including new samples.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].