How do you get the helpful tools in DrRacket? - racket

My brother wanted to introduce me to lisp languages, so he showed me DrRacket on his computer. Everything looked awesome, including arrows that point to where a function is being imported from, and a documentation bubble of sorts that tells you the syntax for a function.
I downloaded DrRacket onto my computer, however I don't have either of these. They are definitely not required, but they would make learning much easier.
According to my brother, he "spammed a bunch of Emacs shortcuts by accident, and it just sort of happened."
If anyone could help me, it would be much appreciated.

These features are provided as part of DrRacket's background expansion, which can be enabled or disabled in the "Background Expansion" tab of DrRacket's preferences.
Enabling background expansion causes DrRacket to constantly perform macro-expansion as you edit your program, which will automatically detect syntax errors as a helpful side-effect.
Once background expansion has completed for a program, binding arrows and documentation blueboxes will be enabled (provided you've checked the relevant checkboxes in the background expansion preferences).
In some especially complex programs that employ a large number of macros, background expansion can take a non-trivial amount of time, though it shouldn't take any more than a few moments for all but the most complicated of programs. The current state of background expansion is displayed in the bottom-right corner of DrRacket's editor window.
Once background expansion has completed, the indicator circle will turn green, and all program analysis tools such as arrows, documentation bubbles, and refactoring will become available.
If you don't want to use background expansion for some reason, you can manually trigger the syntax analysis DrRacket provides by pressing the "Check Syntax" button in the DrRacket toolbar.
This enables the binding arrows and documentation bubbles, and it also colorizes the source code using more advanced syntax highlighting that provides some additional information about the way bindings are used (this feature is only provided by Check Syntax, not background expansion).

Related

Configure Visual Studio Code to highlight code blocks

Qt Creator has a really nice feature where based on the cursor location, they change the background color of the rest of the buffer to make it easy to see the block of code one is working in. They have two levels of highlighting - please see picture.
I've been trying to recreate this in VSCode but with no luck.
I tried various VSCode settings and they don't seem to scope down to the block.
Blockman is visually very noisy i.e. I'd really like to have the lines have the background changed.
Blockman is visually very noisy
Hello, author of Blockman here. Blockman has so many configurations that can be used to reduce the noisy visual of default Blockman behavior. You can hide all blocks and show only the focused block. Also you can show +-1 or +-2 or +-3 ..... depth blocks from the focused block, or from the ground block, or both. Also you can hide all backgrounds and show only borders. And there are also many more settings. Please see the GIF instructions and textual instructions on Blockman page:
https://marketplace.visualstudio.com/items?itemName=leodevbro.blockman
Also this instruction is useful:
Tutorial - Blockman - How to show only focused block
https://github.com/leodevbro/vscode-blockman/issues/97
If you still have some difficulties, feel free to reach me on GitHub or here or anywhere and I'll try to help you with your specific preferences.

What does DrRacket mean by reverse video in the definitions window (after pressing Run)?

I've written a small module in Beginning Student Language. When I click Run, some expressions in the Definitions window are highlighted in reverse video (red text on a black background). I can't figure out which expressions are chosen or what the reverse video means.
According to the colour preferences, it indicates code that the tests didn't cover:

What to do with the inconvenient tab suggestions of Matlab

Why doesn't Matlab put your variable's names on the top of it's suggestion like Eclipse. It's not smart to put everything in alphabetical order. Scrolling down to the function/variable you are looking for sometimes takes more time than typing it yourself. Besides it should also complete a function by writing the parenthesis and placing the courser in the middle of the parenthesis. Is there any way I can change the preferences to that it would act like Eclipse?
In short: No.
Matlab is not eclipse and it will never be. M-code is not Java code.
If you want to you can use eclipse to edit your m-files, however it will not behave as you describe in your question. This is because m-code is not as strict as for example Java, this is on one side the downside of Matlab as you describe above, however the positive side of this is that it offers flexibility during development.
Using a tab after typing some characters would narrow the possibilities for auto-fill, if you have selected this property in the Preferences-Keyboard window.

See recently used commands in imenu style

In emacs, I like to see recently used commands always visible, for buffer operations, so I can select them from menu, in imenu-tree style. I know about smex, that I can invoke with Meta-x. But the visibility is hidden unless you enter Meta-x. These commands could be as simple as 'end-of-line', kill-word' etc ..
I just wrote a small library, cmds-menu.el, which does this. It adds submenu Recent Commands to menu-bar Tools menu.
The library is loaded automatically, if available, when you load library menu-bar+.el. See MenuBarPlus for more about that library.

How to highlight current method body in Eclipse?

There is a nice feature called "show selected element only" in Eclipse. When it's turned on, clicking on a method in the outline pane will show just this method only in the editor, allowing to focus on this one only, especially useful in that you don't need to worry about scrolling hard and overshooting this method when there are many nested parenthesis inside.
But sometimes I would like to have a glance of more codes around here, so have to turn this off, then back, time and time again, which is quite inconvenient. So I wonder if there is a better mechanism?
I know a built-in feature called "range indicator" (http://stackoverflow.com/questions/7049098/how-to-forbid-eclipse-to-highlight-current-method-class-in-the-margin) , but I always tend to overlook that because it's too thin.
One better solution I can imagine is using distinguished background color for currently investigated method body, and when move cursor to other methods, background highlight turn to them accordingly (works like the range indicator, but renders more obviously). In this way, both navigation flexibility and reading assistance are gained.
Is this solution possible?
Take a look at the Editbox plugin.
You might have to do a bit of tweaking to the colors to set it up. Here is a sample screenshot :
Is this what you wanted ?
Yes, with editbox and the following settings may suit your need.