ページ「テキストエディター」と「Xamarin.MacでNLogを使う」の間の差分

提供: MonoBook
(ページ間の差分)
ナビゲーションに移動 検索に移動
imported>MikeCAT
(各テキストエディタにリンクを追加)
 
imported>Administrator
(Administrator がページ「Xamarin.Mac/NLogを使う」を「Xamarin.MacでNLogを使う」に移動しました)
 
1行目: 1行目:
テキストエディタとは、[[テキストファイル]][[編集]]するための[[ソフトウェア]]である。
+
[[Xamarin.Mac]]でも[[NLog]]を使えると捗る。
この種類をめぐって、しばしば[[宗教戦争]]に発展することがあるので注意すること。
 
  
==主なテキストエディタ==
+
==実装1==
===[[Windows]]向け===
+
[[Xamarin.Mac]]でも[[NLog]]はなんら問題なく使用できる。[[NuGet]]から一発[[インストール]]である。試してはいないが[[MonoMac]]でも同じだと思う。
====[[メモ帳]]====
 
Windowsに標準で入っているテキストエディタ。
 
ドラクエでいうところの「ひのきのぼう」である。早くもっと強い武器を入手しよう。
 
  
====[[TeraPad]]====
+
ただし[[ファイル]]に出力する場合に注意が必要で、[[Mac OS X]]ではあらゆる[[ファイル]][[アプリ]]の外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。
優秀なWindows用テキストエディタの一つ。
 
[[ソースコード]]の色分け、[[タブ]]や空白の表示、[[文字コード]]や[[改行コード]]を指定しての保存に対応している。
 
  
[http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html ここで入手できる]。
+
===ファイルに出力するNLog.configの設定例===
 +
そこで以下の例では[[Mac OS X]]では定番の「~/Library/Logs/」以下に出力してみた。
  
====[[サクラエディタ]]====
+
<source lang="xml">
優秀なWindows用テキストエディタの一つ。
+
<?xml version="1.0" encoding="utf-8" ?>
[[メニュー]]の構成をまるごと編集できるカスタマイズ性、名状しがたい[[JavaScript]]のようなものによる[[スクリプト]]機能、
+
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
単純作業が超楽になるキーボード[[マクロ]]機能などの強力な機能を持つ。
+
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 +
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
 +
      autoReload="true"
 +
      throwExceptions="false"
 +
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
  
[http://sakura-editor.sourceforge.net/ ここで入手できる]。
+
  <variable name="appname" value="monobook"/>
  
====[[秀丸エディタ]]====
+
  <targets>
有名だが、有料らしい。
+
    <target xsi:type="File" name="logfile"
 +
    fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
 +
        layout="${longdate} ${uppercase:${level}} ${message}" />
  
====[[Vim]]====
+
    <target xsi:type="Console" name="console" />
主に[[Linux]]や[[Mac]]で利用されるが、Windowsで練習したい人は使える。
 
  
[http://www.kaoriya.net/ ここで入手できる]。
+
  </targets>
  
===[[Linux]]向け===
+
  <rules>
====[[gedit]]====
+
    <logger name="*" minlevel="Trace" writeTo="logfile" />
GUIでテキストが編集でき、[[行番号]]表示や[[シンタックスハイライト]]も完備されている優秀なソフトウェア。
+
    <logger name="*" minlevel="Info"  writeTo="console" />
[[日本情報オリンピック]]本選でも活躍できる。
+
  </rules>
 +
</nlog>
 +
</source>
 +
NLogに設定するパスは[[絶対パス]]なので、ホームディレクトリのパスの取得は「[[MonoMac/特殊ディレクトリのパスを取得する]]」を用いてMyDocumentsを指定することで取得した。
  
端末から起動すると大量のメッセージが表示されるが、
+
また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。
[[標準出力]]と[[標準エラー出力]]を[[/dev/null]]に[[リダイレクト]]することで回避できる。
 
  
====[[Leafpad]]====
+
===備考===
[[KNOPPIX]]などに入っている。機能が少ないが軽い。
+
NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。
  
====[[KWrite]]====
+
===不具合===
KNOPPIXに入っていた。
+
これは2015年8月3日の情報です。
 +
[[Xamarin.Mac]]において「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん[[不具合]]だと思う。
  
====[[Vim]]====
+
==関連項目==
[[SSH]]で利用するならこれ。操作が独特。
+
*[[MonoMac/特殊ディレクトリのパスを取得する]]
[[.vimrc]]というファイルを[[ホームディレクトリ]]に作成し、適切な内容を書くことで、
 
シンタックスハイライト、行番号表示、[[オートインデント]]などの機能を有効化できる。
 
  
====[[emacs]]====
+
==参考文献==
Vimと対立している[[エディタ]]。
+
{{reflist}}
  
====[[nano]]====
+
{{stub}}
いたずらされてviもemacsもエイリアスがかけれらていても、これを使えば助かるかもしれない。
 
  
===[[Mac]]向け===
+
[[category:Xamarin.Mac]]
====[[xcode]]====
+
[[category:MonoMac]]
[[GUI]]でテキストが編集できる。信頼性はいまいち?
 
 
 
====[[Vim]]====
 
xcodeが使いにくいと思った人向け。
 
タブ[[インデント]]派とスペースインデント派が同時に利用しようとすると、
 
.vimrcの編集合戦が起きることがあるので注意しないといけない。
 
 
 
===[[Android]]向け===
 
====[[Jota+]]====
 
「イオタプラス」と読む。
 
[[無課金]]でも2個のテキストを同時に開いて編集でき、編集中のテキストを[[共有]]したり、
 
共有されたテキストを読み込んだりすることができる。
 
 
 
[[課金]]すれば[[root]]アクセスや各種[[オンラインストレージ]]への[[アクセス]]もできるらしい。
 
 
 
[https://play.google.com/store/apps/details?id=jp.sblo.pandora.jota.plus&hl=ja ここから入手できる]。
 
 
 
===[[iOS]]向け===
 
未稿
 
 
 
===[[Windows Phone]]向け===
 
未稿
 
 
 
===[[Firefox OS]]向け===
 
未稿
 

2019年5月22日 (水) 05:13時点における最新版

Xamarin.MacでもNLogを使えると捗る。

実装1[編集 | ソースを編集]

Xamarin.MacでもNLogはなんら問題なく使用できる。NuGetから一発インストールである。試してはいないがMonoMacでも同じだと思う。

ただしファイルに出力する場合に注意が必要で、Mac OS Xではあらゆるファイルアプリの外部に保存する必要があるため、NLog.configファイルの設定例でよく見かける「basedir変数」以下に書き込む設定は使えない。

ファイルに出力するNLog.configの設定例[編集 | ソースを編集]

そこで以下の例ではMac OS Xでは定番の「~/Library/Logs/」以下に出力してみた。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >

  <variable name="appname" value="monobook"/>

  <targets>
    <target xsi:type="File" name="logfile" 
    	fileName="${specialfolder:folder=MyDocuments}/Library/Logs/${appname}/${shortdate}.log"
        layout="${longdate} ${uppercase:${level}} ${message}" />

    <target xsi:type="Console" name="console" />

  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="logfile" />
    <logger name="*" minlevel="Info"  writeTo="console" />
  </rules>
</nlog>

NLogに設定するパスは絶対パスなので、ホームディレクトリのパスの取得は「MonoMac/特殊ディレクトリのパスを取得する」を用いてMyDocumentsを指定することで取得した。

また、NLog.config中でアプリ名を動的に取得する方法がわからなかったので、この例では自前でappname変数を用意している。

備考[編集 | ソースを編集]

NLog.configは初期状態でビルド時にコピーされない設定になっていると思うので修正するのを忘れないこと。NLog.configファイルのプロパティの「出力ディレクトリにコピー」の値を「新しい場合のみコピー」または「常にコピー」に設定する。

不具合[編集 | ソースを編集]

これは2015年8月3日の情報です。 Xamarin.Macにおいて「Debugビルド」を行うとアプリ内(***.app内)のMonoBundleディレクトリにNLog.configファイルが生成(コピー)されるが、「Releaseビルド」では生成されないようだ。たぶん不具合だと思う。

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]