-
Couldn't load subscription status.
- Fork 2
feat(ecosystem): JetBrains IDEs #626
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
b2c15ee
feat(ecosystem): JetBrains IDEs
novusnota 2a83474
fmt
novusnota d79a708
revert `ecosystem/sdk.mdx`
novusnota 10082da
Merge branch 'main' into closes-153/intellij-ton
novusnota d00dbc4
no generic chats, less links
novusnota 7b20bfc
WIP: redo screenshots for both themes
novusnota 7b04b86
Merge branch 'main' into closes-153/intellij-ton
novusnota f1b0e8d
images!
novusnota 153b3e4
add TASM to spelling dictionary
novusnota fbe5c22
Merge branch 'main' into closes-153/intellij-ton
novusnota File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,274 @@ | ||
| --- | ||
| title: "Jetbrains IDEs" | ||
| title: "TON plugin for IDEs from JetBrains" | ||
| sidebarTitle: "JetBrains IDEs" | ||
| --- | ||
|
|
||
| import { Stub } from '/snippets/stub.jsx'; | ||
| import { Image } from '/snippets/image.jsx'; | ||
|
|
||
| <Stub issue="153" /> | ||
| TON plugin for IntelliJ IDEA (Ultimate and Community), WebStorm, CLion, GoLand, PyCharm, RustRover, and all other JetBrains IDEs. | ||
|
|
||
| <Columns cols={3}> | ||
| <Card | ||
| title="Installation" | ||
| icon="floppy-disk" | ||
| horizontal="true" | ||
| href="#installation" | ||
| /> | ||
|
|
||
| <Card | ||
| title="Features" | ||
| icon="sparkles" | ||
| horizontal="true" | ||
| href="#features-and-language-support" | ||
| /> | ||
|
|
||
| <Card | ||
| title="Community" | ||
| icon="user-group" | ||
| horizontal="true" | ||
| href="#community" | ||
| /> | ||
| </Columns> | ||
|
|
||
| ## Installation | ||
|
|
||
| ### From marketplace | ||
|
|
||
| 1. In the IDE, open <kbd><Icon icon="gear" size={16} /> Settings</kbd><br /> | ||
| Skip this step if you do not have opened projects and are in the start menu | ||
| 1. Go to <kbd>Plugins</kbd> | ||
| 1. Select the <kbd>Marketplace</kbd> tab (default) | ||
| 1. Search for `TON` | ||
| 1. Select the official plugin from TON Core and click <kbd>Install</kbd> | ||
|
|
||
| The plugin would be fetched and installed in your current JetBrains IDE. You might need to restart it for changes to take effect. | ||
|
|
||
| Here is how the plugin installation page may look in the start menu of WebStorm, before pressing the <kbd>Install</kbd> button: | ||
|
|
||
| <Image | ||
| src="/resources/images/intellij-ton/install-from-settings.png" | ||
| darkSrc="/resources/images/intellij-ton/install-from-settings-dark.png" | ||
| alt="Screenshot of the plugin installation" | ||
| /> | ||
|
|
||
| Alternatively, you can press <kbd>Get</kbd> on the [plugin homepage in the JetBrains Marketplace](https://plugins.jetbrains.com/plugin/23382-ton) and then follow subsequent instructions. | ||
|
|
||
| ### From disk | ||
|
|
||
| To manually install the plugin: | ||
|
|
||
| 1. Download the plugin archive from the [latest GitHub release](https://github.com/ton-blockchain/intellij-ton/releases/latest) or from the exact version [on the marketplace](https://plugins.jetbrains.com/plugin/23382-ton/versions) | ||
| 1. In the IDE, open <kbd><Icon icon="gear" size={16} /> Settings</kbd><br /> | ||
| Skip this step if you do not have opened projects and are in the start menu | ||
| 1. Go to <kbd>Plugins</kbd> | ||
| 1. Click the gear icon on top <kbd><Icon icon="gear" size={16} /></kbd> and then select `Install Plugin from Disk...` | ||
| 1. Select the plugin archive in the pop up and complete the installation | ||
|
|
||
| See also: [Installing a plugin from the command line in IntelliJ IDEA](https://www.jetbrains.com/help/idea/managing-plugins.html#install_plugin_cmd). | ||
|
|
||
| ## Features and language support | ||
|
|
||
| This plugin provides first-class support for TON-specific languages, schemas and data formats in IntelliJ-based IDEs. Everything you need to develop, test, debug, and deploy TON smart contracts is made available right from your favorite JetBrains-made editor. | ||
|
|
||
| <Columns cols={2}> | ||
| <Card | ||
| title="Tolk" | ||
| icon="star" | ||
| horizontal="true" | ||
| href="#tolk" | ||
| > | ||
| Recommended language for TON smart contract development | ||
| </Card> | ||
|
|
||
| <Card | ||
| title="FunC" | ||
| icon="building-columns" | ||
| horizontal="true" | ||
| href="#func" | ||
| > | ||
| Legacy TON smart contract programming language | ||
| </Card> | ||
|
|
||
| <Card | ||
| title="Fift" | ||
| icon="layer-group" | ||
| horizontal="true" | ||
| href="#fift" | ||
| > | ||
| Low-level stack-based language with deep TVM integration | ||
| </Card> | ||
|
|
||
| <Card | ||
| title="TL-B" | ||
| icon="table-cells" | ||
| horizontal="true" | ||
| href="#tl-b" | ||
| > | ||
| Cell-based data serialization and markup language | ||
| </Card> | ||
|
|
||
| <Card | ||
| title="TON Assembly (TASM)" | ||
| icon="binary" | ||
| horizontal="true" | ||
| href="#tasm" | ||
| > | ||
| Textual TVM bitcode assembly language and corresponding (dis)assembler | ||
| </Card> | ||
|
|
||
| <Card | ||
| title="Integrations" | ||
| icon="toolbox" | ||
| horizontal="true" | ||
| href="#integrations" | ||
| > | ||
| Work with Blueprint projects, Sandbox TON emulator, and other popular tools for TON development | ||
| </Card> | ||
| </Columns> | ||
|
|
||
| ### Tolk | ||
|
|
||
| **File extension:** `.tolk` | ||
|
|
||
| <Image | ||
| src="/resources/images/intellij-ton/tolk.png" | ||
| darkSrc="/resources/images/intellij-ton/tolk-dark.png" | ||
| alt="Screenshot of the Tolk language support" | ||
| /> | ||
|
|
||
| The plugin provides the following features for Tolk files: | ||
|
|
||
| - Syntax and error highlighting | ||
| - [Code completion] — context-specific suggestions as you type | ||
| - [Parameter info] — names of parameters in function calls, with option to enable complete function signatures info | ||
| - [Quick documentation] — pop-up and hover documentation for any symbol right from the editor | ||
| - [Declarations] — go to declarations, implementations, and types | ||
| - [Usages] — search for references and usages of a code element throughout the codebase | ||
| - [Inlay hints] — special in-editor markers, like parameter name blobs next to the corresponding argument values | ||
| - [Inspections] — detects, finds, and highlights various problems and abnormal code | ||
| - [Intention actions] — contextual code edits and quick fixes | ||
| - [Formatting] — rearrangements and code cleanup | ||
| - [Rename refactorings] — change names of symbols and files | ||
| - [Code fragment surrounding] — templates for wrapping code fragments in various constructs, such as `try...catch` blocks. | ||
| - [File structure] — view and navigate the code structure of the open file. | ||
| - [Navigation bar] — structure of the project from directories down to code elements, usually located at the bottom of the status bar. | ||
|
|
||
| ### FunC | ||
|
|
||
| **File extensions:** `.fc`, `.func` | ||
|
|
||
| <Image | ||
| src="/resources/images/intellij-ton/func.png" | ||
| darkSrc="/resources/images/intellij-ton/func-dark.png" | ||
| alt="Screenshot of the FunC language support" | ||
| /> | ||
|
|
||
| The plugin provides the following features for FunC files: | ||
|
|
||
| - Syntax and error highlighting | ||
| - [Code completion] | ||
| - [Quick documentation] | ||
| - [Declarations] | ||
| - [Usages] | ||
| - [Inlay hints] | ||
| - [Inspections] | ||
|
|
||
| ### Fift | ||
|
|
||
| **File extensions:** `.fif`, `.fift` | ||
|
|
||
| <Image | ||
| src="/resources/images/intellij-ton/fift.png" | ||
| darkSrc="/resources/images/intellij-ton/fift-dark.png" | ||
| alt="Screenshot of the Fift language support" | ||
| /> | ||
|
|
||
| <Image | ||
| src="/resources/images/intellij-ton/fift-asm.png" | ||
| darkSrc="/resources/images/intellij-ton/fift-asm-dark.png" | ||
| alt="Screenshot of the Fift assembly support" | ||
| /> | ||
|
|
||
| The plugin provides the following features for Fift: | ||
|
|
||
| - Syntax and error highlighting, with better support for Fift assembly | ||
| - [Code completion] | ||
| - [Declarations] | ||
| - [Usages] | ||
| - [Inspections] | ||
|
|
||
| ### TL-B | ||
|
|
||
| **File extension:** `.tlb` | ||
|
|
||
| <Image | ||
| src="/resources/images/intellij-ton/tlb.png" | ||
| darkSrc="/resources/images/intellij-ton/tlb-dark.png" | ||
| alt="Screenshot of the TL-B data scheme support" | ||
| /> | ||
|
|
||
| The plugin provides the following features for TL-B files: | ||
|
|
||
| - Syntax and error highlighting | ||
| - [Code completion] | ||
| - [Declarations] | ||
| - [Usages] | ||
| - [Inspections] | ||
|
|
||
| ### TASM | ||
|
|
||
| **File extensions:** | ||
|
|
||
| - `.tasm` — textual bitcode assembly | ||
| - `.boc` — serialized binary smart contract code | ||
|
|
||
| <Image | ||
| src="/resources/images/intellij-ton/tasm.png" | ||
| darkSrc="/resources/images/intellij-ton/tasm-dark.png" | ||
| alt="Screenshot of the TON Assembly (TASM) language support" | ||
| /> | ||
|
|
||
| The plugin provides the following features for TON Assembly (TASM): | ||
|
|
||
| - Syntax and error highlighting of `.tasm` files | ||
| - [Code completion] | ||
| - [Declarations] | ||
| - [Usages] | ||
| - [Inspections] | ||
|
|
||
| ### Integrations | ||
|
|
||
| The plugin integrates with: | ||
|
|
||
| - [Blueprint](/ecosystem/blueprint/overview) — all-in-one development environment for TON smart contract development | ||
| - [Sandbox](https://github.com/ton-org/sandbox) — local TON emulator | ||
|
|
||
| ## Community | ||
|
|
||
| Follow news of TON plugin development in the [`@intellijton` Telegram channel](https://t.me/intellijton). | ||
|
|
||
| [Code completion]: https://www.jetbrains.com/help/idea/auto-completing-code.html | ||
|
|
||
| [Parameter info]: https://www.jetbrains.com/help/idea/viewing-reference-information.html#view-parameter-info | ||
|
|
||
| [Quick documentation]: https://www.jetbrains.com/help/idea/viewing-reference-information.html#inline-quick-documentation | ||
|
|
||
| [Intention actions]: https://www.jetbrains.com/help/idea/intention-actions.html | ||
|
|
||
| [Declarations]: https://www.jetbrains.com/help/idea/navigating-through-the-source-code.html#go_to_declaration | ||
|
|
||
| [Usages]: https://www.jetbrains.com/help/idea/find-highlight-usages.html | ||
|
|
||
| [Inlay hints]: https://www.jetbrains.com/help/idea/inlay-hints.html | ||
|
|
||
| [Inspections]: https://www.jetbrains.com/help/idea/code-inspection.html | ||
|
|
||
| [Formatting]: https://www.jetbrains.com/help/idea/reformat-and-rearrange-code.html | ||
|
|
||
| [Rename refactorings]: https://www.jetbrains.com/help/idea/rename-refactorings.html | ||
|
|
||
| [Code fragment surrounding]: https://www.jetbrains.com/help/idea/surrounding-blocks-of-code-with-language-constructs.html | ||
|
|
||
| [Navigation bar]: https://www.jetbrains.com/help/idea/guided-tour-around-the-user-interface.html#navigation-bar | ||
|
|
||
| [File structure]: https://www.jetbrains.com/help/idea/viewing-structure-of-a-source-file.html | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -247,6 +247,7 @@ Spellbook | |
| Stablecoin | ||
| Stablecoins | ||
| Syverson | ||
| TASM | ||
| TEPs | ||
| TMAs | ||
| TVM | ||
|
|
||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
novusnota marked this conversation as resolved.
Show resolved
Hide resolved
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.