Workaround Kotlin Code Style restriction in Android Studio - android-studio

I would like to set more spaces options for Kotlin. In many other languages there is the "Within" options:
It seems they are hidden for Kotlin. Is there some way of unlocking them? What I already tried is to put following line in the codeStyle Project.xml:
<option name="SPACE_WITHIN_IF_PARENTHESES" value="true" />
But Android studio seems to ignore this for Kotlin.
Can anybody give me a hint where in the source code of android-studio these options are restricted?

In the Kotlin YouTrack, there is already a request to add this option (https://youtrack.jetbrains.com/issue/KT-17741) follow it for updates.

Related

Is there a way to hide empty sourceSets in Android Studio

I'm writing a Kotlin Multiplatform project in Android Studio. As a result, I have multiple sourceSets configured in the project but some of them are empty. Removing them from the Gradle build is not possible as they are required for building the project. Is there a way to hide them from being displayed by the IDE?
(Android Studio Dolphin | 2021.3.1 Patch 1)
There is no built-in way to hide empty source sets, but you can create a custom annotation to do this.
Here is the Example. I Hope It would help you.
#Target(AnnotationTarget.CLASS)
#Retention(AnnotationRetention.SOURCE)
annotation class HideEmptySourceSet
For more details about annotations check this link:
https://kotlinlang.org/docs/annotations.html
Click the dropdown at the top labeled "Android" and select the "Project" view instead. This will display only the directories that are actually present on the filesystem rather than showing every source set that's configured.
Unfortunately there is no such option built-in in Android Studio environment.
It's also possible to use a different view (e.g. Project) or define bookmarks and favourites to navigate around quickly.
I would advise to try out the favourites, as setting up will take about 3 minutes and will make it way more comfortable to use.

Is there a way to enable "KEEP_SIMPLE_BLOCKS_IN_ONE_LINE" CodeStyle option in IntelliJ for kotlin?

I am searching for a way to customize my code style settings in IntelliJ / Android Studio (current version 3.2.1). The problem is, I am missing the KEEP_SIMPLE_BLOCKS_IN_ONE_LINE Option for kotlin ( the same option is available for java).
Is there a way to enable this option for kotlin? For example by coding a plugin for IntelliJ or changing some IDE configs? And if so, where should I start? Has someone of you done something similar?

How to disable code inspection errors in README.md file in Android Studio

In my GitHub README.md file, which is in the root of my Android project, I have code snippets like the following ones:
```xml
android:windowSoftInputMode="stateHidden"
```
```java
MongolToast.makeText(getApplicationContext(), "ᠰᠠᠢᠨ ᠪᠠᠢᠨ᠎ᠠ ᠤᠤ︖", MongolToast.LENGTH_LONG).show();
```
However, in Android Studio these code snippets give errors
I don't want to be warned of supposed code errors in the README file. How do I disable all errors here?
Notes:
I know how to suppress inspections normally in code with #SuppressLint or going into settings and unchecking the lint inspection. I don't want these errors to be suppressed in other areas of my project, though.
Somewhat similar question (without an answer): Android Studio - disable errors highlighting for excluded files
After doing some further research I come to conclusion that these errors are not from Android Studio itself but there are plugins for markdown format like Markdown Navigator and Markdown Support if any of them is installed and enabled then you will see above errors in README.md file.
I think this spell check is built in feature of these plugins and can not be controlled from Android Studio.
One option what I think is to disable these plugins and you are good to go.
You can disable these plugins from (Android Studio 3.1.4 MacOS) Preferences > Plugins (or File > Settings > Plugins in Linux) by unchecking them and restart (don't forget it) your Android Studio:
First you need to create a scope (Settings->Scope)
and add the files you want to keep out of scope for the Lints you wanna suppress.
Then go to Settings->Inspections, chose the inspection you wanna remove,
and then on the right choose from the drop down your scope to define the wanted behavior.
In this case, my scope is called AVOID_LINTS, and won't show any typo warnings.
EDIT
In the first step, when you create the scope, you need to add your README to the new scope.
EDIT2
Where to find the scopes:
You may search for the files you want to add, select and click include.
Remove code type annotation, change from:
```xml
android:windowSoftInputMode="stateHidden"
```
```java
MongolToast.makeText(getApplicationContext(), "ᠰᠠᠢᠨ ᠪᠠᠢᠨ᠎ᠠ ᠤᠤ︖", MongolToast.LENGTH_LONG).show();
```
change to:
```
android:windowSoftInputMode="stateHidden"
```
```
MongolToast.makeText(getApplicationContext(), "ᠰᠠᠢᠨ ᠪᠠᠢᠨ᠎ᠠ ᠤᠤ︖", MongolToast.LENGTH_LONG).show();
```
Newer versions of Android Studio starting with 2022.2.1 Flamingo (at least from Beta 1) have an option to toggle "Show problems in code fences" under Preferences > Languages & Frameworks > Markdown.
Note that this toggles all problem types at the same time (typos, warnings and errors).

Android Studio Not Recognizing Imports in TextView

I want to watch android sources code, but Android Studio has so many errors in base Android code. How do I fix these?
Since no one has jumped in here to help with this...
The longer answer here is that the imports (in red) are failing because Android Studio can't find them. So all the calls made to those libraries are failing. So ALL your code after that is full of errors.
For instance, the android.annotation.ColorInt seems to be broken. A quick Google search provides THIS: https://developer.android.com/reference/android/support/annotation/ColorInt.html
Which tells me that the reason that dependency is broken is because whatever you have there is deprecated and should now use a new reference.
Continue with this sort of research and your problem is solved.

Fix Resharper intellisense

Does anyone know how to fix this, besides pressing esc then typing the variable name again?
JetBrains ReSharper 6.1 C# Edition
Build 6.1.37.86 on 2011-12-21T04:15:24
Plugins: none
Visual Studio 10.0.30319.1.
You may want to try changing the IntelliSense option:
Whether you're using IntelliSense ReSharper or Visual Studio, try changing it, then changing it back. I've sometimes had similar issues and toggling the option can help.
Usually restart of Visual Studio tends to re-enable intellisense, I'd much rather a proper fix from JetBrains.
For me, R# intellisense stopped working after installing (and then uninstalling) certain R# extensions. Adding the extensions back fixed the problem.
Edit 1:
Also, try playing with the R# IntelliSense options and see what happens.
In particular switch "Options | Environment | IntelliSense | Completion Appearance | Display completion items in:" from "Visual Studio IntelliSense font" to "Text Editor font" and back.
In the end I tried many things (including upgrading and downgrading R#) over and over again until R# IntelliSense was back.
I had this issue, and I hadn't realized I had opened a project in Folder view mode. Resharper Intellisense won't show unless you switch to a solution view.
Make sure you select a solution instead of a Folder view:

Resources