none
Visual Studio 2019 外部ツール起動時のパラメータについて RRS feed

  • 質問

  • 環境は以下の通りです。
    Windows10 Home (1909) 64bit
    Visual Studio 2019 Version 16.4.1

    Visual Studio 2019 で外部エディタ(秀丸エディタ)を起動するように設定しています。

    外部ツールの設定で引数を
    "/jx$(CurLine),$(CurCol) $(ItemPath)"
    にしていますが、編集中のソースのどこにカーソルを移動して秀丸エディタを起動しても、常にカーソルがソースの先頭になってしまいます。

    確認のためにテストプログラムを作成して、引数を表示してみるとカレント行 $(CurLine) と カレント列 $(CurCol) に 0 を渡されて
    いるようです。
    プロジェクトの種類によらずこのようになります。(確認したのはC++ のプロジェクトと C# のプロジェクトですが)

    別の PC (Windows8.1) でも Visual Studio 2019 (16.3.10) を使用していますが、このような現象は出ていません。まだアップデート
    前なので、16.4 にアップデートしたことで不具合が出たことも考えられますが、16.4 にアップデートする前にどうであったのかは良く
    覚えていないのです。Visual Studio から頻繁に秀丸エディタを起動していますので以前は問題なかったと思われます。

    Visual Studio の不具合について検索してみましたが、当てはまる記事等は見付かりませんでした。

    この不具合の原因は、
    (1) 環境の問題
    (2) 設定の問題
    (3) Visual Studio の不具合
    (4) 確認方法の間違い
    などが考えられますが、それを特定する方法はありますか?

    頻繁に使用する機能なのでかなり難儀しています。
    問題が解決することが一番ですが、とりあえず原因を究明したいです。
    よろしくお願いします。

    なお、テストプログラムは以下のようなものです。

    #define  WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #include <stdio.h>
    
    int APIENTRY WinMain(HINSTANCE	hInstance,
    					 HINSTANCE	hPrevInstance,
    					 LPSTR		lpszCmdLine,
    					 int		nCmdShow)
    {
    	static char		buff[16384];
    	char			*p = buff;
    	int				s = 0;
    	size_t			sz = sizeof buff;
    
    	s = _snprintf_s(p += s, sz -= s, _TRUNCATE, "hInstance     = %08X\r\n", (unsigned)hInstance);
    	s = _snprintf_s(p += s, sz -= s, _TRUNCATE, "hPrevInstance = %08X\r\n", (unsigned)hPrevInstance);
    	s = _snprintf_s(p += s, sz -= s, _TRUNCATE, "lpszCmdLine   = %s\r\n",	lpszCmdLine);
    	s = _snprintf_s(p += s, sz -= s, _TRUNCATE, "nCmdShow      = %d\r\n", 	nCmdShow);
    	s = _snprintf_s(p += s, sz -= s, _TRUNCATE, "CommandLine   = %s",		::GetCommandLine());
    
    	::MessageBox(NULL, buff, "WinMainのパラメーター", MB_OK);
    	return 0;
    }
    

    2019年12月16日 8:17

回答

  • Developer Communityによると16.4でおかしくなったみたいですね。

    16.5 preview1でも再現しました。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2019年12月16日 11:08

すべての返信

  • Developer Communityによると16.4でおかしくなったみたいですね。

    16.5 preview1でも再現しました。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2019年12月16日 11:08
  • 返信、そしてわざわざ検証して頂いてありがとうございました。

    すいません、Developer Community は一応検索したのですが見つけられなかったので、こちらで質問させて頂きました。

    Visual Studio の不具合ということであればしょうがないので、修正されるまで待つことにします。

    2019年12月16日 11:20