How do I keep all my regions collapsed when opening/closing activities? - android-studio

As the title says - I have some regions where its filled with many lines of code and I want to keep them collapsed till I manually expand them.
How do prevent Android Studio from expanding every region automatically?

I found the solution by going to Settings - Editor -> General -> Code Folding and thereafter checking "Custom folding regions" >.

Related

IntelliJ - Collapsable blocks

I've used Php for quiet some time and really liked/got used to the feature to collapse code blocks surrounded by curly brackets, with a click on the little plus/minus icons next to the linenumbers.
PhpStorm
Now I'm doing a Java project with IntelliJ and would like to have this feature too. It works for certain cases like classes, functions and custom regions, but not for if/else, switch statements.
IntelliJ without icons
Already tried changing the Folding options, but without success. I know I can achieve the same result by some keyboard-shortcut, but I would like to have those little plus/minus icons next to the linenumbers.
After using the shortcut the little icons appear though.
IntelliJ with icons
Am I missing some options or is there a plugin that can do that?
Currently it's shown for classes, functions, and custom regions. Please vote for this request to change default behavior: https://youtrack.jetbrains.com/issue/IDEA-144819
It is not clear from your question if you tried to enable "code folding outline" feature in the settings, which is under Editor -> General -> Code Folding -> Show code folding outline which does what you want basically.

2 spaces indentation in google Docs

To prepare an exam, I have to learn coding using google docs rather than using an IDE. It may seem idiot or impratical but the teacher really insists on that. It seems that is the same thing as Google interviews for example...
So far, I really got used with using two spaces indentation (I hate using tab indendation). And I want to learn how can I do that quickly in Google docs. Is there a shortcut or a "tips" (add-on?) for that?
For example, if you have an "if-condition" starting at the position number 4 and you want to move to the following line, it can be really convenient to have the cursor position at 4. Then, you'll add two spaces to start your block at position number 6. (ALL the if block will have at least position 6). But in Docs, when you move to the following line, the cursor always start at the beginning of the line except if you use the tab indentation. And it's really shitting if you want to indent your code properly...
Do you have a solution for that please ?
I was facing the same problem.
To write Python code in google docs, my solution is:
Switch off auto-capitalization, auto-correction and smart quotes. And other auto-substitutions so that you may write code without docs like formatting.
To do this: Tools> Preferences and uncheck the above items. Screen shots attached below.
Set tab to two spaces.
Right-click on ruler on top of page. Add left-tab stop, an arrow will appear, move this tab stop to 2 spaces from left of ruler. Try adding tab in the current line and if the tab size is OK, save this formatting.
To save:
Format > Paragraph Styles > Normal Text > Update 'Normal Text' to match.
Last, to add color(synatx highlight), you may use 'code blocks extension'.
Click install.
Now, write code in docs, select the code in google doc, click on:
Add-ons > Code Block. A pop up opens up.
Choose language : 'python' for me.
Choose theme: 'atom-one-dark'
click Format.
The code looks much like IDE, and writing more code is easier too.
While I understand that sometimes a point can be made by making students do things in a way that might not seem logical, this one doesn't make any sense to me.
Students don't learn anything useful by pressing space twice instead of letting an editor or IDE do it for them.
I wonder, is it because he/she wants it delivered in Google Docs or because they want you coding that way? If it's the latter, you won't have to hide your workaround.
I can only suggest using a good text editor, I always use the excellent and free Notepad++, and copy and paste it to and from Google Docs. Your instructor will never know. In fact, I'd be hunting around to see of there was a way to access your code files directly in Google Docs from Notepad++, or to auto-sync a folder with Google docs.
Notepad++ has syntax colouring - which will save your life - and can be set to indent with tabs or spaces to whatever indent width you specify. If not using an IDE, I only use Notepad++.
Your instructor sounds like some I had, people who cross a line from being quirky but with a point to make to just being a dick. There is absolutely no point in telling a student to code only in Google docs. Google docs is a great thing, I love it, but it is by no stretch of the imagination a coding tool.
(I see that this is an aged thread, but I'll respond in case someone else with a similar issue - like this year's class for that course - comes looking for an answer.)
You could try (ab)using bulleted lists:
Insert a bulleted list
Right click on the bullet, select "More bullets..."
In the "Symbol" selection list, choose "Format & whitespace" and select one of the whitespace options as bullet char
Repeat for as many levels (of bullet sub-lists) as you think you may need in your program
Fix indentation to match whatever feels best for you
Every time you need to write a nested block, you will have to press "tab" only once, then bullet list level is kept and the indentation with it. To go back to the outer block, just press shift-tab.
However, IMHO it doesn't worth the trouble. Generally, interview question solutions are not that large and hitting spacebar a couple of times is not much of an overhead.
It's somewhat cumbersome but you can set as many tab stops as you want, and docs will move nested tabs to the next tab stop as well. For example:
You can add tab stops by right clicking on that tab bar where you want the tab stop to be and clicking Add left tab stop. You'll want to have all text in the document selected if you want the tab stop to apply everywhere.

How to disable automatic tab indentation change after copy paste?

When I copy a piece of code and paste it somewhere else in the IDE, my custom code indentation levels are changed by Visual Studio automatically. How do I prevent this?
Example:
My current tab settings are:
I want to continue using the Smart Indenting feature and actual tab characters (not spaces instead of them). I only want to prevent this particular behavior.
It looks like you are using Visual Assist X (a guess from the font highlighting), which does this. VS2012 itself doesn't have this feature so far as I know.
To turn it off in Visual Assist X, under VASSISTX->Visual Assist X Options..., select Advanced->Corrections and uncheck "Format after paste (in C/C++/C#/Javascript)".

Notepad++ tab color

Is there a way to change the color of a tab (in the tab bar) according to the path of the file?
I tried with the PythonScript plugin, but couldn't find a method to change the color of a tab.
I need this because I edit scripts from two environments at the same time, from a LIVE environment, and from a development environment, and I need to be extra careful when editing a LIVE file.
I was looking for a programmatic way to change the color of the tabs, and reviewed the online documentation of Notepad++ but did not find anything about it. So, instead, I propose the following method for your case, it could be helpful to always know which of your files are from the development environment and which from the live environment:
Open a blank instance of Notepad++:
Now start a macro recording: Press Start Recording button on Notepad++ toolbar:
Open a new document
Now you'll have two open blank tabs.
Right click newly open tab and click in option Move to other view from contextual menu
You'll have a window splitted vertically and your two tabs will be displayed next to each other. You'll use these two tabs as separated "containers" for your files
Press Stop Recording button:
Save your just recorded macro:
assign a keyboard shortcut:
Now you can run that recorded macro (from Macro menu, or invoking keyboard shortcut you assigned), every time you want to work on your two environments.
(Optional) Right click vertical separator between "containers" and click Rotate to right
Now your "containers" will be split horizontally and will be displayed one above the other. Personally, I'd recommend you this layout.
Click on the tab at first "container" and from there, open all your "dev" environment files; and analogously open all your "live" environment files from second "container". Note that currently selected container has a more intensely coloured active tab.
If you notice that your working space is small, drag the separator to increase your current "container" size, but I recommend you not to take it completely towards the end, because it will make difficult to differentiate which of the two "containers" you are working on.
Note: If you, mistakenly opened a file of an environment from the wrong "container" you'll always be able to fix that by dragging the tab and dropping it to the other "container":
So you'll always keep control of what files must be on each container.
That's it. I hope this info will be helpful for you.
About changing the color of the tab (not folder specific).
Notepad++ has a file called stylers.xml, located in the roaming folder or in the program folder. It also depends in the installation & windows version. If it does not exists then it is self generated.
At the very end of the file, it says
<WidgetStyle name="Inactive tabs" styleID="0" fgColor="xxxxx" bgColor="xxxxxx" />
And here it is possible to change the color of the inactive tab.
However, it does not work, it is a bug that has been "fixed" countless of times in the past. To the date, the current version 6.2.3 UNICODE, changing the values does nothing.
So far, editing the stylers.xml:
6.2.3 = does nothing
design guideline, gray + gray = not good.
6.2.0 = does nothing
6.1.8 = works.
Nice contrast
6.1 = works.
5.9.8 = works.
5.7 = edit works.
ps: sadly,it is not possible to change the fonts of the tabs.
Wanted to add this as a comment, the button's not there.
You can solve your actual problem by using multiple instances of notepad++, refer this. You can save different sessions and optionally use the "Open File In Solution (OFIS)" plug-in.
I've if you've picked a different Style like 'Black Board', then you will have to change these setting in it's .XML in '/themes', and these setting are found at the bottom of the file.

Resharper completion without overwriting existing code

In Resharper when I go back to edit some existing code.. eg. wanting to insert a String.Format into this code:
<td>
<%= Html.Encode(item.Address) %>
</td>
I move the cursor to before 'item' and type in 'String.F', getting Resharper's intellisense completion list that includes the 'Format' method.
However if I press TAB then it replaces 'item' with '.Format()'
Is there a way to use completing without replacing the existing text?
Stumbled upon using Enter instead of TAB to choose from the completion list. That does exactly what I want. It surrounds (in this case) 'item.Address' with the String.Format( .. ).
There are two techniques you can use.
The first is to use the Enter key, the second is to pop a space between where you are going to start typing and the next bit of code, which will prevent the next bit of code from being overwritten.
There is an actual setting now to disable this (annoying) behavior.
Go to the Options dialog (Menu -> Resharper -> Options).
In this Options dialog go to Environment -> IntelliSense -> Completion Characters.
Here you can set the Tab behavior to Insert instead of Replace.
Screenshot of Options
Resharper documentation about Completing Characters
This is an addition to the answer in 2010, for everyone that reaches this post via populair search engines ;)
You could also use the String.Format surround template but you may have to map a hotkey to it for easier access.
The keyboard command you want to use is called: Resharper_ForceCompleteItem. So if you go into Visual Studio's Tools > Options > Environment > Keyboard you could assign a keyboard shortcut there. Not sure if it would be possible to use Tab, though.

Resources