Have you ever experienced conflicts/bugs after installing one new package/plugin or snippets on Sublime Text 2 (i.e. conflicting shortcuts)?
Note to who down voted the question: it is your right to think it is a question that shouldn't be asked.
But, if like me, you have spend a great deal of time trying to find why the plugin you just have properly installed isn't working the way it should then you might reasonably be interested in finding some ressources listing known plugin conflicts.
Yes it is certainly possible, and honestly quite likely that plugins will conflict. Though I can't give a specific example where having 2 plugins installed causes one to break or have unexpected behavior (perhaps some of the autocomplete plugins cause this), conflicting shortcuts are certainly possible. There are only a finite amount of (comfortable) key combinations, so some are bound to conflict.
If you see some unexpected behavior (with regards to key bindings) after installing a plugin, might I suggest running the FindKeyConflicts (note this plugin is developed by me) plugin. It should display any key conflicts that occur between packages.
Related
Note: this is not a dupe of this or this other question. Read on: this question is specific to the Code-Sharing template.
I am doing some pretty basic experiments with NativeScript, Angular and the code sharing templates (see: #nativescript/schematics).
Now I am doing some exploration / poc work on how different "build configuration" are supported by the framework. To be clear, I am searching for a simple -and hopefully official- way to have the application use a different version of a specific file (let's call it configuration.ts) based on the current platform (web/ios/android) and environment (development/production/staging?).
Doing the first part is obviously trivial - after all that is the prime purpose of the code sharing schematics. So, different versions of the same file are identified by different extensions. This page explain things pretty simply.
What I don't get as easily is if the framework/template supports any similar convention-based rule that can be used to switch between debug/release (or even better development/staging/production) versions of a file. Think for example of a config.ts file that contains different parameters based on the environment.
I have done some research in the topic, but I was unable to find a conclusive answer:
the old and now retired documentation for the appbuilder platform mentions a (.debug. and .release.) naming convention for files. I don't think this work anymore.
other sources mention passing parameters during the call to tns build / tns run and then fetching them via webpack env variable... See here. This may work, but seems oddly convoluted
third option that gets mentioned is to use hooks to customize the build (or use a plugin that should do the same)
lastly, for some odd reason, the #nativescript/schematics seems to generate a default project that contains two files called environment.ts and environment.prod.ts. I suspect those only work for the web version of the project (read: ng serve) - I wasn't able to get the mobile compiler to recognize files that end with debug.ts, prod.ts or release.ts
While it may be possible that what I am trying to do isn't just supported (yet?), the general confusion an dissenting opinions on the matter make me think I may be missing something.. somewhere.
In case this IS somehow supported, I also wonder how it may integrate with the NativeScript Sidekick app that is often suggested as a tool to ease the build/run process of NativeScript applications (there is no way to specify additional parameters for the tns commands that the Sidekick automates, the only options available are switching between debug/release mode), but this is probably better to be left for another question.
Environment files are not yet supported, passing environment variables from build command could be the viable solution for now.
But of course, you may write your own schematics if you like immediate support for environment files.
I did not look into sharing environment files between web and mobile yet - I do like Manoj's suggestion regarding modifying the schematics, but I'll have to cross that bridge when I get there I guess. I might have an answer to your second question regarding Sidekick. The latest version does support "Webpack" build option which seems to pass the --bundle parameter to tns. The caveat is that this option seems to be more sensitive to typescript errors, even relatively benign ones, so you have to be careful and make sure to fix them all prior to building. In my case I had to lock the version of #types/jasmine in package.json to "2.8.6" in order to avoid some incompatibility between that and the version of typescript that Sidekick's cloud solution is using. Another hint is to check "Clean Build" after npm dependency changes are made. Good luck!
I'm working with a large json file.
This json has been parsed by myself using Python, and (as a result) there are some json validation errors at different points in the file. I want to identify these errors in order to improve my Python parser.
Sublime text (2) helpfully highlights in pink formatting errors in the json, however working my way through 70,000,000 lines of json to find these errors is somewhat challenging.
Is there any way to skip to pink highlighted errors in the json?
(Note: the json file is sufficiently large that trying to use an online validator for example is not possible)
Thanks!
This can be done in a fancy way using a plugin, but for your purposes probably the best way is to just enter a command into the console. Open your JSON file with errors in it, then open the console with Ctrl`. Paste in the following code and hit Enter:
view.show_at_center(view.find_by_selector("invalid.illegal")[0])
and the view will scroll to show the first error in the file. Fix that error, click back on the console entry line, hit the up arrow to bring back the command you just ran, and hit Enter again, and it should scroll to the next error, and so on. When there are no more errors, you'll get IndexError: list index out of range printed to the console, and the view won't scroll any more.
While this will work in both Sublime Text 2 and 3, I strongly urge you to upgrade to ST3 if at all possible. ST2 has been shelved and deprecated, and there will be no more bug fixes released. Development is now focused solely on ST3 (as well as being in the planning stages for ST4!). "I don't know of any good reason to not use Sublime Text 3" - Will Bond, ST core developer.
There are a ton of new features and bug fixes in the new version, even if you're just using the public beta. (BTW, don't let the word "beta" fool you - the program is rock solid, and has been for years.) If you want more cutting-edge features, and are a registered user (which you should be if you are using the program long-term or for commercial purposes), you can download the dev builds which are updated more frequently, but run the slight chance of having an undetected bug or two.
One of the major advantages of ST3 is that it now supports a new, YAML-based sublime-syntax highlighting engine, which allows for much greater flexibility than the old .tmLanguage highlighting files (which are still supported). Related to that, the syntax files have all been open-sourced and development is proceeding very rapidly on them, even though it's been a few months since the last build was released.
Probably the biggest reason to upgrade is the plugin community. The internal Python API has been updated to Python 3 (3.3.6, to be precise), which had the side effect of making many old plugins incompatible. Except in a few rare cases, most plugins now support ST3, and many are dropping ST2 support by the wayside as it becomes too difficult to maintain two codebases, as well as trying to develop with the much more limited API ST2 provides. So, unless you absolutely depend on an old ST2-only plugin that can't be ported, upgrading is definitely the best path to take.
So after switching over to Sublime Text last year, it has become my editor of choice, and I have installed several different packages via the excellent Package Control and basically customized it all to my liking. After a couple months of infrequent use, I jumped back into a code-intensive project and fired up ST2 only to find that none of my packages are working.
After some digging, it finally occurred to me to open my preferences file, only to find all of my installed packages in the "ignored_packages" list. WTF?
Has anyone else experienced this or know what would have caused this? I do some funny things in my sleep sometimes, but not this!
My earlier comment notwithstanding, I think I've figured out what's going on. The issue seems to be Package Control, most likely the new version update to 2.0. I just restarted ST2 after having it open for the past few days, and happened to have the console (Ctrl`) open, and saw that several of my packages, including Tag, Terminal, and SublimeREPL, were added to the ignored packages list. This typically happens when a package is being updated or removed, and is done so it can't be used halfway through the operation before everything is synced. At any rate, for me there was some sort of error, and I had to force quit Sublime and restart it. I immediately checked my preferences, and sure enough several packages were in the "ignored_packages" array.
So, I'm guessing something like this happened to you, and for whatever reason the packages weren't removed from the ignored list, possibly because the system update didn't complete normally. Hopefully this won't happen again, but if it does you'll know where to look. Additionally, if it does happen again, I'd submit an issue on Github, as this may be a bug.
Update
My issue on Github has been merged into this one, and if you scroll all the way down to the bottom wbond has a fix for now: Download Package Control 2.0.1-beta, put it in your Installed Packages folder (removing the one that's already there), and adding the repository https://sublime.wbond.net/prerelease/packages.json by selecting Preferences -> Package Control -> Add Repository. Restart ST2, and see what happens, especially after restarting multiple times. If you still have bugs or odd behavior, please add to the issue.
I am adding this even if it's an old thread because the answer did not solved my problem, but it pointed me in the right direction.
Since it was a problem due to Package Control trying to update packages and I didn't want to mess with repos and stuff, first I tried to upgrade the packages "manually" using Package Control and I noticed that there was a 1-to-1 match between the items in the ignored_packages array and the packages that needed to be upgraded.
After updating, just remove the packages from the array and restart ST2: no more weird ignored packages in the array.
PHPStorm newbie question.
I'd installed PHPStorm yesterday and was very impressed. It identified countless small issues with my code, like referencing non-static classes statically - I loved that it highlighted the problems in my open PHP files. There was a bit long list in the "inspection results" section (I think) which identified errors in various groupings. Great!
Today I can't get it to identify any errors at all, other than "Typos". Same project.
Clearly I messed up a a configuration somewhere, but I'm pretty baffled as to where. I've been through the Preferences section for the last hour trying different things, but can't get it to work as before.
Any tips...?
Ben
Editor not doing proper code highlighting or not working inspections can be caused by the corrupted caches.
The solution is to do File | Invalidate Caches and restart the IDE.
Invalidating caches didn't worked for me.
In my case inspections were disabled because I had activated a wrong profile that wasn't checking PHP issues.
So be sure to check the used profile:
Which of the hg plug-ins has:
the least hassles
causes the least trouble
is prettiest
Can't claim to have tried a wide variety, but, what's wrong with hg4idea...?
In regards to the "don't use one" response - this is hardly adequate. What if I use my IDE to do a refactoring that renames a file? Without IDE/source control integration, the file rename is made without regards to source control, and then Mercurial (or whatever else) thinks a file went missing and a new one appeared. Then you have to go back to wrangle with the source control to sort things out.
JetBrains seems to have chosen hg4idea-luciad for its upcoming Python editor (PyCharm) and it is now more active than hg4idea
It looks like a leader is on the way :-)
To answer your question: The best IDE PlugIn is don't use on.
I think IDE integration is not necessary when working with a DVCS. When working in a centralized System, it is reasonable for the purpose of automatic check out on edit. However, I like keeping things separate. I don't want my IDE cluttered up. I don't see any benefits in using a plug-in compared to a standalone solution (that I keep running on a second monitor etc. ).
I am fine with TortoiseHG and the command line for more complicated tasks.