how to create Intellij live templates in a custom language "context"? - intellij-idea

I am building a custom language plugin for a custom language. I would like to add some live templates for this language, but the new language is not showing up on the list of available contexts in the "Change Context Type For Selected Templates" menu.
The plugin already has a plugin.xml with your usual language-related extensions:
<annotator>, <fileType>, <lang.parserDefinition>, <lang.syntaxHighlighterFactory>, etc. Am I missing a relevant extension?
Bookkeeping: This question was already asked 4 years ago. But the given answer doesn't resolve my problem and I don't have enough reputation to comment or ask for clarification.

It looks like the plugin needs to implement a com.intellij.codeInsight.template.TemplateContextType, and then register the implementation as a <liveTemplateContext>.
This documentation provides useful details: https://plugins.jetbrains.com/docs/intellij/template-support.html#implement-templatecontexttype

Related

Howto add custom feature to chromium

I'm new to chromium development so I admit I'm not familiar with the project's depth and submodules.
I want to create a special build of chromium such as many others have already done (opera, brave, etc).
Based as starting point with chromium, i would want to add to it (native code) the following features:
a implementation of adblock
a implementation of lastpass.com
etc (other features)
I've analysed a bit the code of other browsers, such as brave-core (of BraveBrowser) but to my unfortune, i was unable to find anything on the web about howto start creating your own component(module), at least a few advices.
For example, doing points 1 and 2 above, would mean that "my code" would have to:
bind to a factory of when a new page (tab) was opened so i can also fire my own code there
but i was unable to figure out how/where to do that.
Are there any guides on the web that i can read?
Or can anyone of you provide me with some guidelines?
Many thanks.

Is it possible to create your own content for IntelliJ's Edu plugin?

I recently downloaded the Kotlin Koans, and notice that they are written/run within a JetBrains plugin which appears to be called Edu.
I was wondering if anybody knows if it is possible to create your own content for this plugin?
I think it would be useful in orientating new employees with our coding practices, create little courses for new frameworks we use, but most of all I thought it would be quite useful in the technical section of interviews, actually getting our interviewees writing code.
Apologies if this is an off topic question, or the answer is ask JetBrains. Just thought I would ask the community first.
You could take a look at the Kotlin-Koans-for-Edu repository on GitHub. The contents of a course seem to be defined by the course.json file.
It appears that courses can be installed as an IntelliJ IDEA plugin: see the Educational plugin for Kotlin GitHub repository for more information.
Good luck diving into this, it would be very nice if you could build upon the existing infrastructure!

Self-contained documentation for .NET projects - doxygen? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
The task
We'd like to maintain some developer's documentation for our .NET projects with the following criteria:
"Documents", ideally written in Markdown for providing information that's not closely related to a piece of code (like overview, FAQ).
Standard inline comments for code and API documentation. We do thus in form of standard inline (XML) comments on the classes/interfaces (primarily for IntelliSense support, secondarily for being able to generate an API reference) and would like to continue to do like that.
The documentation is contained in what it documents; e.g. if it's an overview of a solution then in the solution, if it's for a project then among the project's files, version controlled in the same way as the code (this is so the docs are close to what they document, so they are less prone for going out of date, and also this was docs are always "at hand").
Ability to auto-generate (from the CI server) a readable, compiled documentation for a whole project, including "documents" and inline comments for APIs.
An example
We've a project that's a component usable within a 3rd party system. For this project we have the following type of documentation:
Overview (what the project does, what are the aims)
Installation instructions
API documentation
Version history
We'd like to enable our developers and other developers to
- read this documentation from the project's source package and
- from a website.
Solutions we've looked at
Using a wiki (we tried Confluence): this is good for "document"-type of documentation (like overview or installation notes), but it lives independently from the project itself. It's another system to maintain and because it's not before one's eyes when doing development it can quickly go out of date. Also it's one more task to somehow integrate auto-generated API documentation into it.
Using Markdown files and storing them along the code: this is simple and documentation is always at hand and close to what it documents; however we somehow need to generate a publishable web package from these files and the source files' inline documentation.
So far doxygen looks like the solution capable of providing all these. Do you agree?
See "How to include custom files in doxygen".
Broadly speaking this is exactly what I am currently doing, and I'm using Doxygen.
However, I'm afraid I know nothing about .NET. The project I'm working on is a Java package, but includes API documentation extracted from the source, user guides, release records and things like deprecations.
The only thing out of our scope and in yours is Installation Guide, but that's really only because the developer only gets to read it after installation.
We have Jenkins CI building the document on every change.
The 'descriptive' text is all written in Markdown which Doxygen handles reasonably well.
Downsides: If you are familiar with the way Doxygen handles grouping of text for source code you may be confused that these commands don't work to group the blocks of text in Markdown. There are a few other specific oddities but you'll probably find most of them if you scan my own questions on the subject (here, here and here)
Upsides: (Things we've found useful that you've not mentioned)
We can also parse the 'doxygen' markup in the Java API to create a javadoc that IDE's such as Eclipse can use. This does mean we have to limit ourselves to javadoc-style command in the API docs but that's not a big limit.
We've included, under doxygen 'build switch', a manual for your developers on how to write the documentation for the manual (OK, this is slightly recursive!). This provides the recommended command subset to use, and whether (according to taste) you want people to use doxygen #subsection or Markdown ## for headings etc.
Hope that helps.
I'd suggest you try it; trialling a sample of each type of document section you need, to see if it will do the whole set of functions you need. Nothing more annoying documenting 90% then finding it won't do the last 10%.

Visual Documentation in IDE [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I regularly get frustrated by text-overload in my IDE (Eclipse right now). I find myself separating my methods by big chunks of whitespace, and then regretting that later when I need to find something by scanning through the code.
Something I think does work well is the GrepCode way of viewing source code. Does anyone know if anything like this has been implemented in a code editor? More specifically, I want the ability to have nice, formatted and colourful documentation (preferably collapsable) to help me read my code. It could even have the ability to embed design images.
"Text-overload" is precisely why a plugin like Mylyn does exist.
Mylyn's task-focused interface reduces information overload and makes multitasking easy.
Mylyn makes tasks a first class part of the IDE, integrates rich and offline editing for ALM tools, and monitors your programming activity to create a "task context" that focuses your workspace and automatically links all relevant artifacts to the task-at-hand.
This puts the information you need at your fingertips and improves productivity by reducing information overload, facilitating multitasking and easing the sharing of expertise.
Plus you can add to your project WikiText, with Markdown support (see WikiText FAQ, and its User Guide)
To better manage huge amounts of code, you may want to reconsider these:
Use Eclipse Mylyn, as it will hide code that you don't work with.
Open Windows -> Preferences, type "Folding" in the preferences dialog
and check, which editors should provide more folding by default to
hide non relevant things from you.
Have a look at the Java browsing
perspective of Eclipse. It stems from the old Smalltalk code browsing
user interfaces and is meant to more easily manage (but not edit)
Java code.
If you are working much visually with your code (and remember its layout instead of the structure), you may find the Crazy Outline view very helpful. It provides an airplane layout view of your text.
If the more important aspect of your question is how to more easily see the documentation you wrote for your code, check this:
Make sure that the JavaDoc view and the Declaraction view are opened and visible all the time to show Javadoc and declaration of whatever your cursor points at. Make sure you actually provide JavaDoc comments, to begin with.
The Eclipse Code Recommenders project has advanced documentation views, which basically show the results of data mining of common Eclipse code. You can get a company internal (commercial) version of that tool, so it would recommend code completion, as other code in your projects was written.

Develop a plugin editor for eclipse

I have a question for you. My teacher proposed a couple of thesis to me. Basically to develop a plugin for eclipse. There are 2 options:
1)An editor for A-SPL language with syntax highlighting, auto completation of the cose, errors detection and so on........to help people that need to use S-APL
2)An editor to help people to design GUI in S-APL......something like a framework where you can drag widgets and there is a kind of automatic completation of the code....
The thesis should last 4 months......i should not implement everything but make a kind of prototype that maybe in the future someone will finish and make properly work.
I never did something like this so i would like to know if it is difficult, which skills are needed, which languages i should know to create eclipse plugins (for example i know java and python) and so on......to figure out if it is something i can do.
I'd suggest to look into the Xtext (for a textual editor) and Graphiti (for a graphical editor) projects.
You'll need Java for Eclipse plugins.
You need to read a book / the eclipse plugin wiki about Eclipse architecture as it's critical to know the paradigms in use.
There's an example XML plugin editor that you can create from the 'New Plugin' wizard which would be a good starting point for the first option.
good luck. :)