Sublime Text as an external editor for IAR EWB - ide

I've been using IAR EWB for ARM quite a some time now, despite its fiddly IDE features such as code completion and jump to definitions etc. Sometimes they work in IAR editor but most of the times no. GCC+Eclipse is not an option for me as I'm using some pre-compiled library binaries that are only working with IAR. However, I noticed that it is possible to use an external editor with IAR.
For notepad++, the settings are,
In Embedded Workbench open this settings dialog - Tools > Options... > Editor > External Editor
Tick 'Use External Editor'
Type: Command Line Editor: C:\Program
Files (x86)\Notepad++\notepad++.exe
Arguments: "$FILE_PATH$"-n$CUR_LINE$ (These arguments will make notepad++ to jump to the particular line of code once when click a message in the IAR debug log)
I want to use Sublime text as the external editor with IAR. However, I was unable to find the arguments that I need to set in IAR to jump Sublime to a particular line of code once when an error message in the IAR debug window is clicked. Also, I do not want to use a new instance of sublime every time I clicked an error message in IAR build log, but reuse the instance that is already open.
Can anyone please point me out the relevant information?

Based on this link, "$FILE_PATH$":$CUR_LINE$ should work for the arguments.
Whether Sublime starts a new instance is probably an application setting/preference.

Related

CLion code navigation with C++ doesn't work

I've used AppCode (Intellij C++/ObjC IDE that replaces Xcode) for a while and really gotten used to being able to Ctrl+Click on any identifier to get to its definition/decleration.
Now on a new work place, I'm using CLion for a somewhat larger code base and Ctrl+Click hardly ever works. It only seem to work when the identifier is in the same file.
Is there anything I need to setup for this to work correctly? CLion seem to index the code successfully and doing text searches works fine.
You need to use import project functionality of CLion from File -> Import Project and give ok for CMakeLists.txt file automatic creation. Never mind the file is for CMake, you can build your project with other tools too, but CLion uses it for the dependencies.
Then append in the beginning of that file a line stating:
include_directories(.)
After that go to File -> Settings and there search for Keymap from the left and after that on right, right below the word "keymap" there is a selection element for taking for example Eclipse default keymapping in use and there you have at least (I tested only it) the ctrl + click functionality working like charm!!
kudos about the include_directories(.) goes to this question: CLion indexer does not resolve some includes in the project directory
You need to press ctrl + alt + shift + n.
And after pressing it a dialog box will appear to enter your variable/function name and click enter.
Tip: Filter the result for a better experience. Filter option is present on right side of the dialog box.
To get a quick peek of function/variable definition press ctrl + q while focusing on the variable or function.
To get the detailed or full definition of function press ctrl + shift + i while focusing on the variable or function.
I just looked at one of my more complicated teaching examples with multiple header/source files where this would come up.
What I see is that ctl-click (and the red/green arrows in the gutter) does work only in the same file. But I can right-click on a method from another file and choose to go to either the declaration (in header) or definition (in cpp).
The hotkeys to do this are not ctl-click. But you can remap hotkeys in IntelliJ ides, so you may be able to come up with hotkey combinations that don't seem too awkward to you.
What helped me was to run File > New CMake Project from Sources
Until that point, Ctrl+click in CLion would go to the definitions, but wouldn't find any usages.

How to google from the context menu of the Visual Studio 2015 code editor

how can I modify Visual Studio 2015 to be able to search the internet (my fav search engine happens to be google) from the context menu in the code editor?
Ideally, I would like it to open as a new tab in my (default) external browser, because the internal web browser is still...lacking, shall we say?
I found one extension "web search" for older VS, but I have found no extension that works with VS 2015. I found no article that still works.
For comparison, when you're in Chrome, you can select some text, right click and say Search Google for 'what you selected'.
I think this would be handy when learning new technologies from a project that uses those technologies, or just for help.
Ok this turned out to be fairly easy. I just added a tool to Tools, External Tools
Command: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
Arguments: https://www.google.com/?gws_rd=ssl#newwindow=1&safe=active&q=%22$(CurText)%22
I enclosed the $(CurText) variable around quotes (%22) so that it would search on the exact phrase.
Then, to make it more accessible and actually put it in the context menu (and other places), I clicked the Move Up button to make it the first command, then customized the Standard toolbar to include Tools.External Command 1. I also added it to Other Context Menus | Html Context and Editor Context Menus | Code Window
Then I also went into Tools, Options, Keyboard and associated Tools.ExternalCommand1 with Alt+G
IMPORTANT: Because Visual Studio (still, in 2015) doesn't save some modifications to the IDE until it shuts down, you need to shut down all other instances of VS and then lastly shut down the instance that you used to enact these IDE modifications for them to "stick". And, if VS 2015 is like previous versions, be prepared for the menu / toolbar modifications to simply go away one day, at which point you'll just have to redo them.

Where do I add command line arguments to my command line tool project in Xcode?

I'd like to be able to pass some command line arguments to my command line tool program in Xcode. Where do I add these? I'd like to do it in the IDE rather than simply do it manually from the command line.
I've found this in the help file:
Running Your Application with Arguments
Configure a scheme with runtime arguments for your application when
you run it in Xcode. The Run action in the scheme editing dialog
determines what happens when you choose Product > Run.
From the Scheme toolbar menu, choose a scheme.
From the same menu, choose Edit Scheme to display the scheme dialog.
In the left column, select Run.
To specify runtime arguments, click Arguments and then click the Add
button.
Click OK.
Click the Run button or choose Product > Run.
Solved my problem :-)

VSTO: Specify Word Document During Debugging Development

In Visual Studio VSTO, how can I specify the document to open each time I run the project to debug it?
By default, it always opens a blank document and of course I want to test against features that would already be present in a document.
I tried as Cor_Blimey suggested but it opens only the specified when something changes (haven't figured what yet). In addition breakpoints don't work at least in VS2013 implementing the upper solution.
So what I did is to open the specific debugging/testing file each time the add-in is started up.
It works excellent, breakpoints are functional, no blank workbook is loaded and changes in a sheet a available in the next debugging session.
In order to avoid that the file is opened in the released add-in I put it in #if DEBUG.
More information about that method are here but it has as to be used with precaution as described here.
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
#if (DEBUG)
this.Application.Workbooks.Open("C:\\Users\\c563368\\Documents\\Visual Studio 2013\\Projects\\...\\debug.xls");
#endif
}
But there is one disadvantage, as long as you debugging environment (visual studio) is running, Office will always open the add-in build from the debug folder.
You can avoid this by running an the office application as external program, as described here.
You need to use the command line you can set to run on a successful build (there is no way to only get it to run on Debug (as in F11) and you cannot set it on a per Configuration basis. However, there is a good workaround to get it to only do things on the Debug configuration etc.
The basic behaviour is:
Open the solution. Open the project's properties. Go to Build Events. In Post-Build Event Command Line enter in the path to Word (e.g. "C:\Program Files (x86)\Microsoft Office\Office14\Winword") (or if it is in your %Path% then just Winword) and pass in the path to the document you want opened as an argument. This will open Word and the document on every successful build (you can set the trigger to being all builds, whether successful or otherwise etc)
What I prefer to do, however, is simply point it to a batch file, passing in the details about the build event as arguments to the batch file. Then, within the batch file, I run the logic to decide if it should launch Word, open a document etc.
For example, you can point it to
$(ProjectDir)buildScript.bat "$(ConfigurationName)"
Then within the batch file have something like
if %1=="Debug - Excel" "C:\Program Files (x86)\Microsoft Office\Office14\excel.exe" "%~dp0\testbook.xlsx"
This will run a batch file called buildScript in the project directory. The first argument (%1 to access in the batch file) will be the configuration. You can therefore set the batch file to launch Word and pass in the document as the argument if the config is e.g. "Debug" but not if it is "Release", thereby sidestepping the limitation within VS2012 Post-Build Event command line.
Edit:
A list of switches for Word can be found at http://support.microsoft.com/kb/210565
What you need to instruct Word to do will depend on the type of addin you are making:
If it is a standard COM addin then, so long as the DLL is registered and you have set the registry entries (or selected it in the Word addin settings) to open the addin then it should open when Word opens.
If it is an addin document, however, then the procedure is different -> try playing with the commnd switches to instruct Word to open the particular addin document.
I am more familiar with Excel COM addins, so you will have to experiment with the specificities of a Word addin. But the basic principles are to use the post-build event commnd line, coupled with the right switches and arguments to Winword.
Hope that helps.
The simpliest way to achive it is to replace .docx / .xlsx file in solution location

Editing VB.net code without stopping executable

I need to be able to edit vb.net code using visual studio without stopping the debugging executable.
How can I go about doing this? If it's impossible, how can I code and reload that code without stopping the executable? I know of scripting languages like Lua, but I fear the implementation of another language within the VB is unnecessary to save me the trouble of stopping the executable.
The issue is that starting and stopping this executable can take a very long time, and I need to be able to edit the code quickly and frequently.
I think you're talking about "Edit and Continue" which can be enabled in VS2010 > Tools > Debugging > Edit and Continue.
Note: the application must be in "break" mode to enable editing. When you talk about "Stopping the executable" do you mean stopping all debugging or stopping at a breakpoint?
Edit + Continue has been supported since VS2005. It won't work by default when you run on a 64-bit operating system, only 32-bit code is supported. Easy fix: Project + Properties, Compile tab, scroll down, Advanced Compile Options, change the Target CPU combobox to "x86". That's the default now for new projects created in VS2010.
Not every type of code change is supported by E+C, details are in this MSDN Library page.
Its easy, Edit and Continue is supported from VS1.1 up. The trick is placing a breakpoint in your code by clicking the left margin of a code window on a line of code you wish to halt the program. You will need to run the program in Debug mode (not release mode).
Tip you can also press Ctrl + Alt + PauseBreak to halt the program in the middle of a lengthy operation.
Once the programs Code Control halts you are free to edit and continue.