|
1 | | -# ilspy-vscode (powered by ICSharpCode.Decompiler) |
| 1 | +# ilspy-vscode (Extension) |
2 | 2 |
|
3 | | -Welcome to the ILSpy extension for Visual Studio Code! This extension provides two commands inside Visual Studio Code: |
| 3 | +This is the actual VSCode extension part of the project, which fulfills following tasks: |
4 | 4 |
|
5 | | -- `ilspy.decompileAssemblyInWorkspace` - Decompile an MSIL assembly inside the current Visual Studio Code workspace. |
6 | | -- `ilspy.decompileAssemblyViaDialog` - Decompile an MSIL assembly from file picker dialog. |
| 5 | +* Integrates ILSpy UI elements (like Assembly Tree, Search and Analyze panels, palette commands) into VSCode shell |
| 6 | +* Manages extension settings (global and workspace-specific) |
| 7 | +* Controls [backend](../backend/README.md) process launching it at startup and initializing it with configuration |
| 8 | +* Installs a required version of .NET runtime using Microsoft's [.NET Install Tool for Extension Authors](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.vscode-dotnet-runtime) |
7 | 9 |
|
8 | | -Open the Visual Studio Code Command Palette (<kbd>Ctrl+Shift+P</kbd>) then type `ilspy` to show the two commands. |
9 | | - |
10 | | -The `Decompile IL Assembly in Current Workspace` will put all potential .NET assemblies |
11 | | -(files with extension `.dll`, `.exe`, `.winmd`, `.netmodule`, `.wasm` or `.nupkg`) in your |
12 | | -workspace in a list for selection. |
13 | | - |
14 | | -The `Decompile IL Assembly (pick file)` command allows choosing an assembly using the file picker dialog. The dialog |
15 | | -should also allow one to type in the full path, for example, `c:/temp/a.dll` or `/home/user/b.dll`. |
16 | | - |
17 | | -If the file is a valid .NET assembly or NuGet package, a tree view named `ILSPY: ASSEMBLIES` is added into the Explorer view. |
18 | | -It allows expanding and selecting various nodes, whose decompiled C# code is shown in the editor. |
19 | | - |
20 | | -Loaded assemblies can be closed by hovering the assemly nodes and clicking the "X" icon. |
21 | | - |
22 | | -Further features are: |
23 | | - |
24 | | -- Symbol search across all loaded assemblies |
25 | | -- Decompiling symbols to IL and different C# versions |
26 | | -- Analyzing references between symbols across loaded assemblies |
27 | | -- Saving list of loaded assemblies along with currently open workspace |
| 10 | +A description of the extension's features can be found in [Feature Tour](https://github.com/icsharpcode/ilspy-vscode/wiki/Feature-Tour). |
28 | 11 |
|
29 | 12 | ## Requirements |
30 | 13 |
|
31 | 14 | - Visual Studio Code >= 1.101 |
32 | 15 | - .NET 10.0 (installed automatically on first start) |
33 | | - |
34 | | -## What's New |
35 | | - |
36 | | -See our [change log](https://github.com/icsharpcode/ilspy-vscode/blob/master/vscode-extension/CHANGELOG.md) for all of the updates. |
37 | | - |
38 | | -### Found a Bug? |
39 | | - |
40 | | -Please file any issues at https://github.com/icsharpcode/ilspy-vscode/issues |
41 | | - |
42 | | -## Development |
43 | | - |
44 | | -First install: |
45 | | - |
46 | 16 | - Node.js (22 or newer) |
47 | 17 | - NPM |
48 | 18 |
|
49 | | -- Compile and prepare ILSpy.Backend: |
| 19 | +## Development |
| 20 | + |
| 21 | +To debug and run the extension, you first need to build and package the backend: |
50 | 22 |
|
51 | 23 | ``` |
52 | 24 | cd .. |
53 | | -buildtools/build-backend |
| 25 | +buildtools/publish-backend |
54 | 26 | ``` |
55 | 27 |
|
56 | | -- Run `npm i` |
57 | | -- Run `npm run compile` |
58 | | -- Open in Visual Studio Code (`code .`) |
59 | | -- _Optional:_ run `npm run watch`, make code changes |
60 | | -- Press <kbd>F5</kbd> to debug |
| 28 | +The backend's binaries are automatically copied to `vscode-extension/bin/ilspy-backend`, where the extension expects them. |
| 29 | + |
| 30 | +Then initialize the project with |
61 | 31 |
|
62 | | -To **test** do the following: `npm test` or <kbd>F5</kbd> in VS Code with the "Launch Tests" debug configuration. |
| 32 | +``` |
| 33 | +npm install |
| 34 | +``` |
63 | 35 |
|
64 | | -## License |
| 36 | +Open this directory in Visual Studio Code and start debugging with <kbd>F5</kbd>. A development instance of VS Code will open with the latest extension code running. |
65 | 37 |
|
66 | | -[MIT license](https://github.com/icsharpcode/ilspy-vscode/blob/master/vscode-extension/LICENSE.TXT). |
0 commit comments