Xcode4 code completions ignores code within static library - xcode4

I created a static library and a project that uses it following the instructions found at http://www.sodeso.nl/?p=822. So far it works fine, with a “minor” exception: the code completion ignores all code in the library. So, if I start typing a method of a class inside the static library I get no code completion suggestions.
Is there any way to fix this?

I fixed this problem by specifying the full Header Search Path for my libraries in the main project settings. For example, replace:
Libraries/TestLib/
with
$(SOURCE_ROOT)/Libraries/TestLib/
I originally found the answer here.
Edit: It turns out the above solution only fixes part of the problem. As found in another question here, it turns out that there is also an issue with Xcode that is resolved in version 4.1. I'm using Xcode 4.2 beta and can confirm that the issue is fixed for me.

I've been wondering why I get code completion for certain things, and not others. It seems:
Static libraries: NO
Frameworks: YES
So if you package your static library as a framework, you should get code completion.

In my case I just readded all in "Header Search Path", so:
Remove all values in "Header Search Path"
Compile (probably it will fail)
Then add values again
In my case after this actions I enabled code completion again

Related

Saving <file.php>: Running 'phpcbf' Formatter (configure)

I've recently set up WP coding standards in VSCode by following https://www.edmundcwm.com/setting-up-wordpress-coding-standards-in-vs-code/.
With this setup files aren't getting saved and shows this message at the bottom right:
Saving ‘plugin.php’: Running ‘phpcbf’ Formatter (configure).
The only way to save is to press Cancel when this appears.
Any idea?
Please use which phpcs & which phpcbf to find the paths.
which phpcs
e.g. "C:\Users{Your username}\AppData\Roaming\Composer\Vendor\bin\phpcs
which phpcbf
e.g. C:\Users{Your username}\AppData\Roaming\Composer\Vendor\bin\phpcbf
once you find the paths to the executables, open your vscode json settings and add double check that the executable settings for phpcs & phpcbf match the paths.
Examples:
"phpcs.executablePath": "C:\Users\{Your username}\AppData\Roaming\Composer\Vendor\bin\phpcs.bat",
"phpcbf.executablePath": "C:\Users\{Your username}\AppData\Roaming\Composer\Vendor\bin\phpcbf.bat",
I think this issue is pretty widespread despite the lack of answers in this thread. Setting the paths as above does not fix things. For me, this happens when saving a file and there is nothing for the formatter to fix.
There is an open pull request for this issue that has been open for over a year now.
A fork of the project has popped up that specifically fixes this issue. Look for phpcbf in VSCode and find the one by Simone Baldini.
Try installing that to see if it resolves the problem.

Some of the JavaFX docs are missing (NetBeans 11)

Recently I've started to work with Maven JavaFX11 (openJFX11) and I noticed that there are many issues with javadoc in NetBeans. After some research I found that there is a bug with NetBeans that doesn't download the source+docs dependecies the right way (I mean it downloads it, but the next step to make it work is that you rename the source+docs files
issue & solution right here
But after I did that I noticed another docs issue and I have not found any similar topic on this so i dont know if it's just me or somebody have/had the same problem
When i type something like this:
private Label label;
label.[something...]
It only shows some of the docs.
It describes object Label the right way
After I type the dot, it only tells me about like 1/5 of the docs. Let me show you simple example.
And here is example of one that works
I looked into the javafx docs (.jar) and opened the Note.html and there ARE as the same things as in the docs they have on their websites, including all the methods, etc.
So... Dont you know, where the problem might be? I'm using the openJFX 11
It looks like you have encountered a known issue. See these NetBeans Bug Reports:
NETBEANS-1396 Maven: Downloaded javadoc / sources not attached to artifact with classifier.
NETBEANS-2197 Missing code completion and Javadocs in maven projects with classifier.
Also see these OpenJFX issues:
How to add javadoc in Netbeans #44
Attached Javadoc does not follow Maven convention #6
The fix is being implemented through a pull request for NetBeans 1396.
That fix is already included in NetBeans 11.3 which has a target release date of "January 15, 2020".

ATOM - CSSLINT ignore ids

Is there a way to make csslint in Atom ignore "ids", so I don't get the warning "Don't use IDs in selectors"?
Edit: My question was identified as a possible duplicate of "Disable warnings (ids selector) in linter-csslint on Atom?", but I mentioned in my own answer that I could not understand how to make the process to solve my problem. I ended up finding out.
Well, guys, I ended up discovering how to do that. The other questions similar to mine did solve the problem, but they were not so clear TO ME on how to make the solution work. If you guys go to github "https://github.com/ebednarz/csslintrc/blob/master/.csslintrc", there are some lines to ignore the elements. What wasn't that clear to me was "ok, what should I do with it?".
So you have two options (I use Windows). You either create a file in Atom or command line called ".csslintrc" and place it INSIDE THE FOLDER OF THE PROJECT you are working on OR you can place this file in your USER FOLDER IN WINDOWS. Like, "C:\Users\yourUserName". If you put it there, all the projects will use this file.

Prevent Atom Editor from auto creating files

at the moment I try to experiment a little bit with Atom for writing an API documentation with RAML. Everything works fine but one damn thing:
Everytime I type some file paths (e.g. !include schemas/file.schema Atom auto creates the file when I'm not quick enough with typing. So, in some cases I have a hole bunch of file-zombies in my schema folder. That's kind of annoying.
My setup is standard Atom on MacBook, with api-workbench plugin, which includes linter as well. I already had a look at all those settings concerning auto completion - nothing found there. Also, Google doesn't show any hints. Any Tips?
Best regards,
Chris
It looks like this is a defect in the api-workbench package:
Api workbench creates new schemas, while i type their paths. For example below, i can see two-three files created while i type full name:
E.g:
schemas:
- myschema: !include schemas/myschema.json
Will create following files:
schemas/my
schemas/mysche
schemas/myschema
schemas/myschemas.json - this file is existing, i've created it before. all other files are redudant and i have to delete them.
Bug is not reproduced with examples, which i can also include in my document. Having issues while edition RAML 0.8 files.
If you want to help the package maintainers fix the defect, can I suggest you put together a minimal but complete example that reproduces the issue, this will make it easier for them to identify and resolve the issue.

How to use FTS in SQLite with Monotouch for iOS

I'm looking to build an iOS app using Monotouch that has a rather large sqlite db full of text. I need to provide fast searching over this text.
My best solution right now is the FTS module (preferably version 4). I have read that the default instance of sqlite on iOS does not support FTS. If this is true what is the recommended way to build a custom instance of sqlite with Monotouch? Or can this be done at all?
I found this site describing how to accomplish this with xcode, but it is not clear how I would accomplish with Monotouch.
http://longweekendmobile.com/2010/06/16/sqlite-full-text-search-for-iphone-ipadyour-own-sqlite-for-iphone-and-ipad/
Any help is much appreciated!
As I mentioned in my comment above I got this working and since Stack Overflow has really helped me out I wanted to contribute a little to give back to the community.
Disclaimer
This is coming from a .NET developer who is a N00B when it comes to iOS/MacOS/XCode/Monotouch.
Although I tested this out on the iPad simulator I have yet to test it out on an actual device.
End disclaimer
This is a quick how-to compile your own version of SQLite and include it in your Monotouch project with the goal of supporting Full text search.
Step 1:
Download the SQLite amalgamation file.
This includes all of SQLite in one file.
http://www.sqlite.org/download.html
Step 2: Compile the SQLite source in Xcode for iOS.
There is a good walkthrough on how to do this here:
http://pp.hillrippers.ch/blog/2009/08/08/Static+SQLite+Library+with+Unicode+Support+for+the+iPhone/
I followed steps 1-5, skipped #6 since we're not adding additional headers.
Instead of using the compile flags used in the walk through I used:
SQLITE_ENABLE_COLUMN_METADATA
SQLITE_ENABLE_FTS4
There may be others you want to add as well.
These compile flags are added in XCode, to the "Build" tab of the project under "Preprocessor Macros".
Once you've compiled this you should have "mylibrary.a".
Step 3: Include this file in your MonoDevelop project
Add mylibrary.a into MonoDevelop as any other file, right click it and make sure the build action is 'Nothing'.
In your project options select "iPhone Build". You need to add additional mtouch arguments. Add the following
-gcc_flags "-L${ProjectDir} -lmylibrary -force_load ${ProjectDir}/mylibrary.a"
Step 4: Build a c# wrapper
You could probably find a good wrapper to include at this point but I just quickly rolled my own.
For a good tutorial on writing an SQLite wrapper in C# check this page out:
http://www.switchonthecode.com/tutorials/csharp-tutorial-writing-a-dotnet-wrapper-for-sqlite
Because your library is a part of the project you don't need to reference the library by name but instead use the "__Internal" keyword. *NOTE THERE ARE TWO UNDERSCORES IN "__INTERNAL" * (Don't ask me how much time I wasted before I realized that)
Here's a sample of one of mine
[DllImport ("__Internal", EntryPoint="sqlite3_open")]
static extern int sqlite3_open_v2(string filename, out IntPtr db);
There's obviously a lot more to putting together a wrapper, but there's lots of info out there on how to do that. One gotcha is to properly marshal the strings you get returned from SQLite. (see http://blog.gebhardtcomputing.com/2007/11/marshal-utf8-strings-in-net.html for more info on Marshaling)
This was intended to be a quick walkthrough on getting a native library compiled in into MonoDevelop/monotouch, and I hope it helps someone.
You would have to do the same thing, build your own libsqlite3.a, and mangle all the public exports so it doesn't conflict with the libsqlite loaded by the system, and then you would need to modify whatever library you want to bind to sqlite to [DllImport ("__Internal")] instead of libsqlite.

Resources